41afbd:	e8 ce 82 fe ff       	call   0x403290
41afc2:	89 77 04             	mov    %esi,0x4(%edi)
41afc5:	8b c7                	mov    %edi,%eax
41afc7:	84 db                	test   %bl,%bl
41afc9:	74 0f                	je     0x41afda
41afcb:	e8 ac 86 fe ff       	call   0x40367c
41afd0:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41afd7:	83 c4 0c             	add    $0xc,%esp
41afda:	8b c7                	mov    %edi,%eax
41afdc:	5f                   	pop    %edi
41afdd:	5e                   	pop    %esi
41afde:	5b                   	pop    %ebx
41afdf:	c3                   	ret
41afe0:	8b 40 04             	mov    0x4(%eax),%eax
41afe3:	e8 78 d6 fe ff       	call   0x408660
41afe8:	83 f8 ff             	cmp    $0xffffffff,%eax
41afeb:	75 02                	jne    0x41afef
41afed:	33 c0                	xor    %eax,%eax
41afef:	c3                   	ret
41aff0:	8b 40 04             	mov    0x4(%eax),%eax
41aff3:	e8 94 d6 fe ff       	call   0x40868c
41aff8:	83 f8 ff             	cmp    $0xffffffff,%eax
41affb:	75 02                	jne    0x41afff
41affd:	33 c0                	xor    %eax,%eax
41afff:	c3                   	ret
41b000:	55                   	push   %ebp
41b001:	8b ec                	mov    %esp,%ebp
41b003:	83 c4 f8             	add    $0xfffffff8,%esp
41b006:	ff 75 0c             	push   0xc(%ebp)
41b009:	ff 75 08             	push   0x8(%ebp)
41b00c:	83 e2 7f             	and    $0x7f,%edx
41b00f:	8b 40 04             	mov    0x4(%eax),%eax
41b012:	e8 a1 d6 fe ff       	call   0x4086b8
41b017:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b01a:	89 55 fc             	mov    %edx,-0x4(%ebp)
41b01d:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b020:	8b 55 fc             	mov    -0x4(%ebp),%edx
41b023:	59                   	pop    %ecx
41b024:	59                   	pop    %ecx
41b025:	5d                   	pop    %ebp
41b026:	c2 08 00             	ret    $0x8
41b029:	8d 40 00             	lea    0x0(%eax),%eax
41b02c:	53                   	push   %ebx
41b02d:	8b da                	mov    %edx,%ebx
41b02f:	8b c8                	mov    %eax,%ecx
41b031:	8b c3                	mov    %ebx,%eax
41b033:	99                   	cltd
41b034:	52                   	push   %edx
41b035:	50                   	push   %eax
41b036:	8b c1                	mov    %ecx,%eax
41b038:	8b 10                	mov    (%eax),%edx
41b03a:	ff 52 08             	call   *0x8(%edx)
41b03d:	5b                   	pop    %ebx
41b03e:	c3                   	ret
41b03f:	90                   	nop
41b040:	55                   	push   %ebp
41b041:	8b ec                	mov    %esp,%ebp
41b043:	53                   	push   %ebx
41b044:	8b d8                	mov    %eax,%ebx
41b046:	ff 75 0c             	push   0xc(%ebp)
41b049:	ff 75 08             	push   0x8(%ebp)
41b04c:	33 d2                	xor    %edx,%edx
41b04e:	8b c3                	mov    %ebx,%eax
41b050:	8b 08                	mov    (%eax),%ecx
41b052:	ff 51 18             	call   *0x18(%ecx)
41b055:	8b 43 04             	mov    0x4(%ebx),%eax
41b058:	50                   	push   %eax
41b059:	e8 e6 b3 fe ff       	call   0x406444
41b05e:	e8 b5 1f ff ff       	call   0x40d018
41b063:	5b                   	pop    %ebx
41b064:	5d                   	pop    %ebp
41b065:	c2 08 00             	ret    $0x8
41b068:	55                   	push   %ebp
41b069:	8b ec                	mov    %esp,%ebp
41b06b:	53                   	push   %ebx
41b06c:	56                   	push   %esi
41b06d:	84 d2                	test   %dl,%dl
41b06f:	74 08                	je     0x41b079
41b071:	83 c4 f0             	add    $0xfffffff0,%esp
41b074:	e8 ab 85 fe ff       	call   0x403624
41b079:	8b da                	mov    %edx,%ebx
41b07b:	8b f0                	mov    %eax,%esi
41b07d:	66 8b 45 08          	mov    0x8(%ebp),%ax
41b081:	50                   	push   %eax
41b082:	6a 00                	push   $0x0
41b084:	33 d2                	xor    %edx,%edx
41b086:	8b c6                	mov    %esi,%eax
41b088:	e8 1f 00 00 00       	call   0x41b0ac
41b08d:	8b c6                	mov    %esi,%eax
41b08f:	84 db                	test   %bl,%bl
41b091:	74 0f                	je     0x41b0a2
41b093:	e8 e4 85 fe ff       	call   0x40367c
41b098:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41b09f:	83 c4 0c             	add    $0xc,%esp
41b0a2:	8b c6                	mov    %esi,%eax
41b0a4:	5e                   	pop    %esi
41b0a5:	5b                   	pop    %ebx
41b0a6:	5d                   	pop    %ebp
41b0a7:	c2 04 00             	ret    $0x4
41b0aa:	8b c0                	mov    %eax,%eax
41b0ac:	55                   	push   %ebp
41b0ad:	8b ec                	mov    %esp,%ebp
41b0af:	83 c4 dc             	add    $0xffffffdc,%esp
41b0b2:	53                   	push   %ebx
41b0b3:	56                   	push   %esi
41b0b4:	57                   	push   %edi
41b0b5:	33 db                	xor    %ebx,%ebx
41b0b7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41b0ba:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41b0bd:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41b0c0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41b0c3:	84 d2                	test   %dl,%dl
41b0c5:	74 08                	je     0x41b0cf
41b0c7:	83 c4 f0             	add    $0xfffffff0,%esp
41b0ca:	e8 55 85 fe ff       	call   0x403624
41b0cf:	8b f1                	mov    %ecx,%esi
41b0d1:	88 55 ff             	mov    %dl,-0x1(%ebp)
41b0d4:	8b d8                	mov    %eax,%ebx
41b0d6:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b0d9:	33 c0                	xor    %eax,%eax
41b0db:	55                   	push   %ebp
41b0dc:	68 d5 b1 41 00       	push   $0x41b1d5
41b0e1:	64 ff 30             	push   %fs:(%eax)
41b0e4:	64 89 20             	mov    %esp,%fs:(%eax)
41b0e7:	66 81 ff ff ff       	cmp    $0xffff,%di
41b0ec:	75 69                	jne    0x41b157
41b0ee:	8b 55 08             	mov    0x8(%ebp),%edx
41b0f1:	8b c6                	mov    %esi,%eax
41b0f3:	e8 60 d5 fe ff       	call   0x408658
41b0f8:	8b c8                	mov    %eax,%ecx
41b0fa:	33 d2                	xor    %edx,%edx
41b0fc:	8b c3                	mov    %ebx,%eax
41b0fe:	e8 a1 fe ff ff       	call   0x41afa4
41b103:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41b107:	0f 8d ad 00 00 00    	jge    0x41b1ba
41b10d:	8d 55 e8             	lea    -0x18(%ebp),%edx
41b110:	8b c6                	mov    %esi,%eax
41b112:	e8 59 d7 fe ff       	call   0x408870
41b117:	8b 45 e8             	mov    -0x18(%ebp),%eax
41b11a:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b11d:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41b121:	e8 1e b2 fe ff       	call   0x406344
41b126:	8d 55 e4             	lea    -0x1c(%ebp),%edx
41b129:	e8 be 01 ff ff       	call   0x40b2ec
41b12e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b131:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b134:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41b138:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b13b:	50                   	push   %eax
41b13c:	6a 01                	push   $0x1
41b13e:	8b 0d 04 49 47 00    	mov    0x474904,%ecx
41b144:	b2 01                	mov    $0x1,%dl
41b146:	a1 3c 5b 41 00       	mov    0x415b3c,%eax
41b14b:	e8 9c 0a ff ff       	call   0x40bbec
41b150:	e8 37 89 fe ff       	call   0x403a8c
41b155:	eb 63                	jmp    0x41b1ba
41b157:	0f b7 d7             	movzwl %di,%edx
41b15a:	8b c6                	mov    %esi,%eax
41b15c:	e8 7b d4 fe ff       	call   0x4085dc
41b161:	8b c8                	mov    %eax,%ecx
41b163:	33 d2                	xor    %edx,%edx
41b165:	8b c3                	mov    %ebx,%eax
41b167:	e8 38 fe ff ff       	call   0x41afa4
41b16c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
41b170:	7d 48                	jge    0x41b1ba
41b172:	8d 55 e0             	lea    -0x20(%ebp),%edx
41b175:	8b c6                	mov    %esi,%eax
41b177:	e8 f4 d6 fe ff       	call   0x408870
41b17c:	8b 45 e0             	mov    -0x20(%ebp),%eax
41b17f:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b182:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
41b186:	e8 b9 b1 fe ff       	call   0x406344
41b18b:	8d 55 dc             	lea    -0x24(%ebp),%edx
41b18e:	e8 59 01 ff ff       	call   0x40b2ec
41b193:	8b 45 dc             	mov    -0x24(%ebp),%eax
41b196:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b199:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41b19d:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b1a0:	50                   	push   %eax
41b1a1:	6a 01                	push   $0x1
41b1a3:	8b 0d ac 44 47 00    	mov    0x4744ac,%ecx
41b1a9:	b2 01                	mov    $0x1,%dl
41b1ab:	a1 98 5b 41 00       	mov    0x415b98,%eax
41b1b0:	e8 37 0a ff ff       	call   0x40bbec
41b1b5:	e8 d2 88 fe ff       	call   0x403a8c
41b1ba:	33 c0                	xor    %eax,%eax
41b1bc:	5a                   	pop    %edx
41b1bd:	59                   	pop    %ecx
41b1be:	59                   	pop    %ecx
41b1bf:	64 89 10             	mov    %edx,%fs:(%eax)
41b1c2:	68 dc b1 41 00       	push   $0x41b1dc
41b1c7:	8d 45 dc             	lea    -0x24(%ebp),%eax
41b1ca:	ba 04 00 00 00       	mov    $0x4,%edx
41b1cf:	e8 a0 8e fe ff       	call   0x404074
41b1d4:	c3                   	ret
41b1d5:	e9 7a 88 fe ff       	jmp    0x403a54
41b1da:	eb eb                	jmp    0x41b1c7
41b1dc:	8b c3                	mov    %ebx,%eax
41b1de:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41b1e2:	74 0f                	je     0x41b1f3
41b1e4:	e8 93 84 fe ff       	call   0x40367c
41b1e9:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41b1f0:	83 c4 0c             	add    $0xc,%esp
41b1f3:	8b c3                	mov    %ebx,%eax
41b1f5:	5f                   	pop    %edi
41b1f6:	5e                   	pop    %esi
41b1f7:	5b                   	pop    %ebx
41b1f8:	8b e5                	mov    %ebp,%esp
41b1fa:	5d                   	pop    %ebp
41b1fb:	c2 08 00             	ret    $0x8
41b1fe:	8b c0                	mov    %eax,%eax
41b200:	53                   	push   %ebx
41b201:	56                   	push   %esi
41b202:	e8 85 84 fe ff       	call   0x40368c
41b207:	8b da                	mov    %edx,%ebx
41b209:	8b f0                	mov    %eax,%esi
41b20b:	8b 46 04             	mov    0x4(%esi),%eax
41b20e:	85 c0                	test   %eax,%eax
41b210:	7c 05                	jl     0x41b217
41b212:	e8 d9 d4 fe ff       	call   0x4086f0
41b217:	8b d3                	mov    %ebx,%edx
41b219:	80 e2 fc             	and    $0xfc,%dl
41b21c:	8b c6                	mov    %esi,%eax
41b21e:	e8 8d 80 fe ff       	call   0x4032b0
41b223:	84 db                	test   %bl,%bl
41b225:	7e 07                	jle    0x41b22e
41b227:	8b c6                	mov    %esi,%eax
41b229:	e8 46 84 fe ff       	call   0x403674
41b22e:	5e                   	pop    %esi
41b22f:	5b                   	pop    %ebx
41b230:	c3                   	ret
41b231:	8d 40 00             	lea    0x0(%eax),%eax
41b234:	89 50 04             	mov    %edx,0x4(%eax)
41b237:	89 48 08             	mov    %ecx,0x8(%eax)
41b23a:	c3                   	ret
41b23b:	90                   	nop
41b23c:	53                   	push   %ebx
41b23d:	56                   	push   %esi
41b23e:	57                   	push   %edi
41b23f:	8b d8                	mov    %eax,%ebx
41b241:	8b 7b 0c             	mov    0xc(%ebx),%edi
41b244:	85 ff                	test   %edi,%edi
41b246:	7c 24                	jl     0x41b26c
41b248:	85 c9                	test   %ecx,%ecx
41b24a:	7c 20                	jl     0x41b26c
41b24c:	8b 73 08             	mov    0x8(%ebx),%esi
41b24f:	2b f7                	sub    %edi,%esi
41b251:	85 f6                	test   %esi,%esi
41b253:	7e 17                	jle    0x41b26c
41b255:	3b ce                	cmp    %esi,%ecx
41b257:	7d 02                	jge    0x41b25b
41b259:	8b f1                	mov    %ecx,%esi
41b25b:	8b 43 04             	mov    0x4(%ebx),%eax
41b25e:	03 c7                	add    %edi,%eax
41b260:	8b ce                	mov    %esi,%ecx
41b262:	e8 89 76 fe ff       	call   0x4028f0
41b267:	01 73 0c             	add    %esi,0xc(%ebx)
41b26a:	eb 02                	jmp    0x41b26e
41b26c:	33 f6                	xor    %esi,%esi
41b26e:	8b c6                	mov    %esi,%eax
41b270:	5f                   	pop    %edi
41b271:	5e                   	pop    %esi
41b272:	5b                   	pop    %ebx
41b273:	c3                   	ret
41b274:	66 83 e9 01          	sub    $0x1,%cx
41b278:	72 09                	jb     0x41b283
41b27a:	74 0c                	je     0x41b288
41b27c:	66 ff c9             	dec    %cx
41b27f:	74 0c                	je     0x41b28d
41b281:	eb 10                	jmp    0x41b293
41b283:	89 50 0c             	mov    %edx,0xc(%eax)
41b286:	eb 0b                	jmp    0x41b293
41b288:	01 50 0c             	add    %edx,0xc(%eax)
41b28b:	eb 06                	jmp    0x41b293
41b28d:	03 50 08             	add    0x8(%eax),%edx
41b290:	89 50 0c             	mov    %edx,0xc(%eax)
41b293:	8b 40 0c             	mov    0xc(%eax),%eax
41b296:	c3                   	ret
41b297:	90                   	nop
41b298:	53                   	push   %ebx
41b299:	56                   	push   %esi
41b29a:	e8 ed 83 fe ff       	call   0x40368c
41b29f:	8b da                	mov    %edx,%ebx
41b2a1:	8b f0                	mov    %eax,%esi
41b2a3:	8b c6                	mov    %esi,%eax
41b2a5:	e8 1a 00 00 00       	call   0x41b2c4
41b2aa:	8b d3                	mov    %ebx,%edx
41b2ac:	80 e2 fc             	and    $0xfc,%dl
41b2af:	8b c6                	mov    %esi,%eax
41b2b1:	e8 fa 7f fe ff       	call   0x4032b0
41b2b6:	84 db                	test   %bl,%bl
41b2b8:	7e 07                	jle    0x41b2c1
41b2ba:	8b c6                	mov    %esi,%eax
41b2bc:	e8 b3 83 fe ff       	call   0x403674
41b2c1:	5e                   	pop    %esi
41b2c2:	5b                   	pop    %ebx
41b2c3:	c3                   	ret
41b2c4:	53                   	push   %ebx
41b2c5:	8b d8                	mov    %eax,%ebx
41b2c7:	33 d2                	xor    %edx,%edx
41b2c9:	8b c3                	mov    %ebx,%eax
41b2cb:	e8 44 00 00 00       	call   0x41b314
41b2d0:	33 c0                	xor    %eax,%eax
41b2d2:	89 43 08             	mov    %eax,0x8(%ebx)
41b2d5:	33 c0                	xor    %eax,%eax
41b2d7:	89 43 0c             	mov    %eax,0xc(%ebx)
41b2da:	5b                   	pop    %ebx
41b2db:	c3                   	ret
41b2dc:	53                   	push   %ebx
41b2dd:	56                   	push   %esi
41b2de:	57                   	push   %edi
41b2df:	8b fa                	mov    %edx,%edi
41b2e1:	8b f0                	mov    %eax,%esi
41b2e3:	6a 00                	push   $0x0
41b2e5:	6a 00                	push   $0x0
41b2e7:	8b c7                	mov    %edi,%eax
41b2e9:	e8 e6 f8 ff ff       	call   0x41abd4
41b2ee:	8b c7                	mov    %edi,%eax
41b2f0:	8b 10                	mov    (%eax),%edx
41b2f2:	ff 12                	call   *(%edx)
41b2f4:	8b d8                	mov    %eax,%ebx
41b2f6:	8b d3                	mov    %ebx,%edx
41b2f8:	8b c6                	mov    %esi,%eax
41b2fa:	8b 08                	mov    (%eax),%ecx
41b2fc:	ff 51 04             	call   *0x4(%ecx)
41b2ff:	85 db                	test   %ebx,%ebx
41b301:	74 0c                	je     0x41b30f
41b303:	8b 56 04             	mov    0x4(%esi),%edx
41b306:	8b cb                	mov    %ebx,%ecx
41b308:	8b c7                	mov    %edi,%eax
41b30a:	e8 d1 fa ff ff       	call   0x41ade0
41b30f:	5f                   	pop    %edi
41b310:	5e                   	pop    %esi
41b311:	5b                   	pop    %ebx
41b312:	c3                   	ret
41b313:	90                   	nop
41b314:	53                   	push   %ebx
41b315:	51                   	push   %ecx
41b316:	89 14 24             	mov    %edx,(%esp)
41b319:	8b d8                	mov    %eax,%ebx
41b31b:	8b d4                	mov    %esp,%edx
41b31d:	8b c3                	mov    %ebx,%eax
41b31f:	8b 08                	mov    (%eax),%ecx
41b321:	ff 51 1c             	call   *0x1c(%ecx)
41b324:	8b d0                	mov    %eax,%edx
41b326:	8b 4b 08             	mov    0x8(%ebx),%ecx
41b329:	8b c3                	mov    %ebx,%eax
41b32b:	e8 04 ff ff ff       	call   0x41b234
41b330:	8b 04 24             	mov    (%esp),%eax
41b333:	89 43 10             	mov    %eax,0x10(%ebx)