40fee2:	75 bc                	jne    0x40fea0
40fee4:	8b 7d f8             	mov    -0x8(%ebp),%edi
40fee7:	89 7e 14             	mov    %edi,0x14(%esi)
40feea:	33 d2                	xor    %edx,%edx
40feec:	84 ff                	test   %bh,%bh
40feee:	75 21                	jne    0x40ff11
40fef0:	8b 45 0c             	mov    0xc(%ebp),%eax
40fef3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40fef6:	21 55 f0             	and    %edx,-0x10(%ebp)
40fef9:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
40fefd:	8b 45 08             	mov    0x8(%ebp),%eax
40ff00:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40ff07:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ff0a:	e8 d8 f7 ff ff       	call   0x40f6e7
40ff0f:	8b d0                	mov    %eax,%edx
40ff11:	66 8b 4e 06          	mov    0x6(%esi),%cx
40ff15:	8b 45 18             	mov    0x18(%ebp),%eax
40ff18:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
40ff1c:	66 89 4d d0          	mov    %cx,-0x30(%ebp)
40ff20:	8a 4e 08             	mov    0x8(%esi),%cl
40ff23:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40ff26:	8b 45 14             	mov    0x14(%ebp),%eax
40ff29:	88 4d d2             	mov    %cl,-0x2e(%ebp)
40ff2c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40ff2f:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
40ff33:	8b 45 10             	mov    0x10(%ebp),%eax
40ff36:	89 45 e0             	mov    %eax,-0x20(%ebp)
40ff39:	e8 a9 f7 ff ff       	call   0x40f6e7
40ff3e:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
40ff41:	8b 46 18             	mov    0x18(%esi),%eax
40ff44:	8b d0                	mov    %eax,%edx
40ff46:	2b 56 14             	sub    0x14(%esi),%edx
40ff49:	39 46 14             	cmp    %eax,0x14(%esi)
40ff4c:	1b c9                	sbb    %ecx,%ecx
40ff4e:	23 ca                	and    %edx,%ecx
40ff50:	3b cb                	cmp    %ebx,%ecx
40ff52:	0f 82 94 00 00 00    	jb     0x40ffec
40ff58:	8b 4e 14             	mov    0x14(%esi),%ecx
40ff5b:	2b c3                	sub    %ebx,%eax
40ff5d:	2b cf                	sub    %edi,%ecx
40ff5f:	2b c7                	sub    %edi,%eax
40ff61:	51                   	push   %ecx
40ff62:	57                   	push   %edi
40ff63:	50                   	push   %eax
40ff64:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40ff67:	50                   	push   %eax
40ff68:	ff 15 58 c3 42 00    	call   *0x42c358
40ff6e:	8b 46 14             	mov    0x14(%esi),%eax
40ff71:	83 c4 10             	add    $0x10,%esp
40ff74:	03 c3                	add    %ebx,%eax
40ff76:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40ff7a:	89 46 14             	mov    %eax,0x14(%esi)
40ff7d:	75 45                	jne    0x40ffc4
40ff7f:	50                   	push   %eax
40ff80:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ff83:	50                   	push   %eax
40ff84:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ff87:	e8 7f f7 ff ff       	call   0x40f70b
40ff8c:	eb 49                	jmp    0x40ffd7
40ff8e:	ff 75 18             	push   0x18(%ebp)
40ff91:	ff 75 14             	push   0x14(%ebp)
40ff94:	ff 75 10             	push   0x10(%ebp)
40ff97:	ff 75 f8             	push   -0x8(%ebp)
40ff9a:	50                   	push   %eax
40ff9b:	e8 ff fc ff ff       	call   0x40fc9f
40ffa0:	8b f8                	mov    %eax,%edi
40ffa2:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ffa5:	85 ff                	test   %edi,%edi
40ffa7:	75 04                	jne    0x40ffad
40ffa9:	b0 01                	mov    $0x1,%al
40ffab:	eb 41                	jmp    0x40ffee
40ffad:	b7 01                	mov    $0x1,%bh
40ffaf:	88 7d ff             	mov    %bh,-0x1(%ebp)
40ffb2:	eb 03                	jmp    0x40ffb7
40ffb4:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ffb7:	84 db                	test   %bl,%bl
40ffb9:	0f 85 2b ff ff ff    	jne    0x40feea
40ffbf:	e9 23 ff ff ff       	jmp    0x40fee7
40ffc4:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
40ffc8:	74 0d                	je     0x40ffd7
40ffca:	8b 45 e8             	mov    -0x18(%ebp),%eax
40ffcd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ffd0:	40                   	inc    %eax
40ffd1:	50                   	push   %eax
40ffd2:	e8 cb f6 ff ff       	call   0x40f6a2
40ffd7:	ff 76 14             	push   0x14(%esi)
40ffda:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40ffdd:	51                   	push   %ecx
40ffde:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40ffe1:	e8 25 f7 ff ff       	call   0x40f70b
40ffe6:	c6 46 20 01          	movb   $0x1,0x20(%esi)
40ffea:	eb bd                	jmp    0x40ffa9
40ffec:	32 c0                	xor    %al,%al
40ffee:	5f                   	pop    %edi
40ffef:	5e                   	pop    %esi
40fff0:	5b                   	pop    %ebx
40fff1:	c9                   	leave
40fff2:	c2 14 00             	ret    $0x14
40fff5:	83 c1 0c             	add    $0xc,%ecx
40fff8:	e9 80 29 00 00       	jmp    0x41297d
40fffd:	8b ff                	mov    %edi,%edi
40ffff:	55                   	push   %ebp
410000:	8b ec                	mov    %esp,%ebp
410002:	6a ff                	push   $0xffffffff
410004:	68 59 87 42 00       	push   $0x428759
410009:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41000f:	50                   	push   %eax
410010:	b8 50 10 00 00       	mov    $0x1050,%eax
410015:	e8 56 83 01 00       	call   0x428370
41001a:	a1 74 b6 42 00       	mov    0x42b674,%eax
41001f:	33 c5                	xor    %ebp,%eax
410021:	89 45 f0             	mov    %eax,-0x10(%ebp)
410024:	53                   	push   %ebx
410025:	56                   	push   %esi
410026:	57                   	push   %edi
410027:	50                   	push   %eax
410028:	8d 45 f4             	lea    -0xc(%ebp),%eax
41002b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
410031:	8b d9                	mov    %ecx,%ebx
410033:	83 a5 e4 ef ff ff 00 	andl   $0x0,-0x101c(%ebp)
41003a:	8d 04 d3             	lea    (%ebx,%edx,8),%eax
41003d:	83 a5 d8 ef ff ff 00 	andl   $0x0,-0x1028(%ebp)
410044:	89 85 d4 ef ff ff    	mov    %eax,-0x102c(%ebp)
41004a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41004d:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
410051:	50                   	push   %eax
410052:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
410056:	50                   	push   %eax
410057:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
41005b:	50                   	push   %eax
41005c:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
410060:	50                   	push   %eax
410061:	0f b7 01             	movzwl (%ecx),%eax
410064:	8d 8d a4 ef ff ff    	lea    -0x105c(%ebp),%ecx
41006a:	50                   	push   %eax
41006b:	e8 05 f8 ff ff       	call   0x40f875
410070:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410074:	8d 85 e8 ef ff ff    	lea    -0x1018(%ebp),%eax
41007a:	50                   	push   %eax
41007b:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
410081:	c7 85 e8 ef ff ff 00 	movl   $0x1000,-0x1018(%ebp)
410088:	10 00 00
41008b:	50                   	push   %eax
41008c:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
410092:	50                   	push   %eax
410093:	51                   	push   %ecx
410094:	8b cb                	mov    %ebx,%ecx
410096:	e8 c7 e1 ff ff       	call   0x40e262
41009b:	8b f0                	mov    %eax,%esi
41009d:	8b ce                	mov    %esi,%ecx
41009f:	e8 17 d7 ff ff       	call   0x40d7bb
4100a4:	85 f6                	test   %esi,%esi
4100a6:	74 10                	je     0x4100b8
4100a8:	33 c0                	xor    %eax,%eax
4100aa:	21 85 e0 ef ff ff    	and    %eax,-0x1020(%ebp)
4100b0:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
4100b6:	eb 06                	jmp    0x4100be
4100b8:	8b 85 e8 ef ff ff    	mov    -0x1018(%ebp),%eax
4100be:	68 00 10 00 00       	push   $0x1000
4100c3:	50                   	push   %eax
4100c4:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
4100ca:	50                   	push   %eax
4100cb:	8d 8d a4 ef ff ff    	lea    -0x105c(%ebp),%ecx
4100d1:	e8 98 f8 ff ff       	call   0x40f96e
4100d6:	80 bd c5 ef ff ff 00 	cmpb   $0x0,-0x103b(%ebp)
4100dd:	0f 85 fc 00 00 00    	jne    0x4101df
4100e3:	83 a5 dc ef ff ff 00 	andl   $0x0,-0x1024(%ebp)
4100ea:	8d 85 dc ef ff ff    	lea    -0x1024(%ebp),%eax
4100f0:	89 85 c8 ef ff ff    	mov    %eax,-0x1038(%ebp)
4100f6:	8d b5 c8 ef ff ff    	lea    -0x1038(%ebp),%esi
4100fc:	83 ec 48             	sub    $0x48,%esp
4100ff:	8d 85 d8 ef ff ff    	lea    -0x1028(%ebp),%eax
410105:	89 85 cc ef ff ff    	mov    %eax,-0x1034(%ebp)
41010b:	8b cc                	mov    %esp,%ecx
41010d:	8d 85 a4 ef ff ff    	lea    -0x105c(%ebp),%eax
410113:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
410119:	8d 41 08             	lea    0x8(%ecx),%eax
41011c:	8d 78 04             	lea    0x4(%eax),%edi
41011f:	c7 00 98 10 40 00    	movl   $0x401098,(%eax)
410125:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410126:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410127:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410128:	89 41 40             	mov    %eax,0x40(%ecx)
41012b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41012e:	e8 21 f9 ff ff       	call   0x40fa54
410133:	80 bd c4 ef ff ff 00 	cmpb   $0x0,-0x103c(%ebp)
41013a:	88 85 ef ef ff ff    	mov    %al,-0x1011(%ebp)
410140:	74 47                	je     0x410189
410142:	8b 8d b8 ef ff ff    	mov    -0x1048(%ebp),%ecx
410148:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
41014e:	2b ca                	sub    %edx,%ecx
410150:	6a 01                	push   $0x1
410152:	ff b5 e0 ef ff ff    	push   -0x1020(%ebp)
410158:	51                   	push   %ecx
410159:	51                   	push   %ecx
41015a:	51                   	push   %ecx
41015b:	8b cb                	mov    %ebx,%ecx
41015d:	e8 55 e1 ff ff       	call   0x40e2b7
410162:	3d 01 00 00 c0       	cmp    $0xc0000001,%eax
410167:	74 60                	je     0x4101c9
410169:	85 c0                	test   %eax,%eax
41016b:	74 1c                	je     0x410189
41016d:	8b 85 b8 ef ff ff    	mov    -0x1048(%ebp),%eax
410173:	8b 95 b4 ef ff ff    	mov    -0x104c(%ebp),%edx
410179:	2b c2                	sub    %edx,%eax
41017b:	6a 00                	push   $0x0
41017d:	6a 00                	push   $0x0
41017f:	51                   	push   %ecx
410180:	51                   	push   %ecx
410181:	50                   	push   %eax
410182:	8b cb                	mov    %ebx,%ecx
410184:	e8 2e e1 ff ff       	call   0x40e2b7
410189:	8b 85 dc ef ff ff    	mov    -0x1024(%ebp),%eax
41018f:	83 c3 08             	add    $0x8,%ebx
410192:	8b bd e4 ef ff ff    	mov    -0x101c(%ebp),%edi
410198:	89 85 d8 ef ff ff    	mov    %eax,-0x1028(%ebp)
41019e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4101a2:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4101a8:	e8 d0 27 00 00       	call   0x41297d
4101ad:	80 bd ef ef ff ff 00 	cmpb   $0x0,-0x1011(%ebp)
4101b4:	75 34                	jne    0x4101ea
4101b6:	3b 9d d4 ef ff ff    	cmp    -0x102c(%ebp),%ebx
4101bc:	73 2c                	jae    0x4101ea
4101be:	83 ff 32             	cmp    $0x32,%edi
4101c1:	0f 82 83 fe ff ff    	jb     0x41004a
4101c7:	eb 21                	jmp    0x4101ea
4101c9:	8b bd e4 ef ff ff    	mov    -0x101c(%ebp),%edi
4101cf:	47                   	inc    %edi
4101d0:	c6 85 ef ef ff ff 00 	movb   $0x0,-0x1011(%ebp)
4101d7:	89 bd e4 ef ff ff    	mov    %edi,-0x101c(%ebp)
4101dd:	eb bf                	jmp    0x41019e
4101df:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4101e5:	e8 93 27 00 00       	call   0x41297d
4101ea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4101ed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4101f4:	59                   	pop    %ecx
4101f5:	5f                   	pop    %edi
4101f6:	5e                   	pop    %esi
4101f7:	5b                   	pop    %ebx
4101f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4101fb:	33 cd                	xor    %ebp,%ecx
4101fd:	e8 de 78 01 00       	call   0x427ae0
410202:	c9                   	leave
410203:	c2 04 00             	ret    $0x4
410206:	83 c1 1c             	add    $0x1c,%ecx
410209:	e9 6f 27 00 00       	jmp    0x41297d
41020e:	8b ff                	mov    %edi,%edi
410210:	53                   	push   %ebx
410211:	56                   	push   %esi
410212:	6a 00                	push   $0x0
410214:	6a 04                	push   $0x4
410216:	5b                   	pop    %ebx
410217:	53                   	push   %ebx
410218:	6a 01                	push   $0x1
41021a:	53                   	push   %ebx
41021b:	6a 00                	push   $0x0
41021d:	8b f1                	mov    %ecx,%esi
41021f:	e8 51 f6 ff ff       	call   0x40f875
410224:	6a 02                	push   $0x2
410226:	53                   	push   %ebx
410227:	6a 01                	push   $0x1
410229:	53                   	push   %ebx
41022a:	6a 00                	push   $0x0
41022c:	8d 4e 24             	lea    0x24(%esi),%ecx
41022f:	e8 41 f6 ff ff       	call   0x40f875
410234:	6a 01                	push   $0x1
410236:	6a 00                	push   $0x0
410238:	6a 01                	push   $0x1
41023a:	53                   	push   %ebx
41023b:	6a 00                	push   $0x0
41023d:	8d 4e 48             	lea    0x48(%esi),%ecx
410240:	e8 30 f6 ff ff       	call   0x40f875
410245:	8b c6                	mov    %esi,%eax
410247:	5e                   	pop    %esi
410248:	5b                   	pop    %ebx
410249:	c3                   	ret
41024a:	8b ff                	mov    %edi,%edi
41024c:	55                   	push   %ebp
41024d:	8b ec                	mov    %esp,%ebp
41024f:	83 ec 34             	sub    $0x34,%esp
410252:	a1 74 b6 42 00       	mov    0x42b674,%eax
410257:	33 c5                	xor    %ebp,%eax
410259:	89 45 fc             	mov    %eax,-0x4(%ebp)
41025c:	56                   	push   %esi
41025d:	8b f1                	mov    %ecx,%esi
41025f:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
410263:	74 3c                	je     0x4102a1
410265:	a1 fc 27 40 00       	mov    0x4027fc,%eax
41026a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41026d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410270:	a1 00 28 40 00       	mov    0x402800,%eax
410275:	89 45 e8             	mov    %eax,-0x18(%ebp)
410278:	a1 f4 27 40 00       	mov    0x4027f4,%eax
41027d:	89 45 ec             	mov    %eax,-0x14(%ebp)
410280:	a1 f8 27 40 00       	mov    0x4027f8,%eax
410285:	56                   	push   %esi
410286:	89 45 f0             	mov    %eax,-0x10(%ebp)
410289:	a1 ec 27 40 00       	mov    0x4027ec,%eax
41028e:	6a 03                	push   $0x3
410290:	89 45 f4             	mov    %eax,-0xc(%ebp)
410293:	a1 f0 27 40 00       	mov    0x4027f0,%eax
410298:	5a                   	pop    %edx
410299:	89 45 f8             	mov    %eax,-0x8(%ebp)
41029c:	e8 5c fd ff ff       	call   0x40fffd
4102a1:	80 7e 44 00          	cmpb   $0x0,0x44(%esi)
4102a5:	74 3f                	je     0x4102e6
4102a7:	a1 e4 27 40 00       	mov    0x4027e4,%eax
4102ac:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4102af:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4102b2:	a1 e8 27 40 00       	mov    0x4027e8,%eax
4102b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4102ba:	a1 dc 27 40 00       	mov    0x4027dc,%eax
4102bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4102c2:	a1 e0 27 40 00       	mov    0x4027e0,%eax
4102c7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4102ca:	a1 d4 27 40 00       	mov    0x4027d4,%eax
4102cf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4102d2:	a1 d8 27 40 00       	mov    0x4027d8,%eax
4102d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4102da:	8d 46 24             	lea    0x24(%esi),%eax
4102dd:	50                   	push   %eax
4102de:	6a 03                	push   $0x3
4102e0:	5a                   	pop    %edx
4102e1:	e8 17 fd ff ff       	call   0x40fffd
4102e6:	80 7e 68 00          	cmpb   $0x0,0x68(%esi)
4102ea:	74 6f                	je     0x41035b
4102ec:	a1 cc 27 40 00       	mov    0x4027cc,%eax
4102f1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4102f4:	89 45 cc             	mov    %eax,-0x34(%ebp)
4102f7:	a1 d0 27 40 00       	mov    0x4027d0,%eax
4102fc:	89 45 d0             	mov    %eax,-0x30(%ebp)
4102ff:	a1 c4 27 40 00       	mov    0x4027c4,%eax
410304:	89 45 d4             	mov    %eax,-0x2c(%ebp)
410307:	a1 c8 27 40 00       	mov    0x4027c8,%eax
41030c:	89 45 d8             	mov    %eax,-0x28(%ebp)
41030f:	a1 bc 27 40 00       	mov    0x4027bc,%eax
410314:	89 45 dc             	mov    %eax,-0x24(%ebp)
410317:	a1 c0 27 40 00       	mov    0x4027c0,%eax
41031c:	89 45 e0             	mov    %eax,-0x20(%ebp)
41031f:	a1 b4 27 40 00       	mov    0x4027b4,%eax
410324:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410327:	a1 b8 27 40 00       	mov    0x4027b8,%eax
41032c:	89 45 e8             	mov    %eax,-0x18(%ebp)
41032f:	a1 ac 27 40 00       	mov    0x4027ac,%eax
410334:	89 45 ec             	mov    %eax,-0x14(%ebp)
410337:	a1 b0 27 40 00       	mov    0x4027b0,%eax
41033c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41033f:	a1 a4 27 40 00       	mov    0x4027a4,%eax
410344:	89 45 f4             	mov    %eax,-0xc(%ebp)
410347:	a1 a8 27 40 00       	mov    0x4027a8,%eax