41a018:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41a01f:	50                   	push   %eax
41a020:	ff 73 14             	push   0x14(%ebx)
41a023:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a026:	50                   	push   %eax
41a027:	8d 45 c0             	lea    -0x40(%ebp),%eax
41a02a:	50                   	push   %eax
41a02b:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a02e:	50                   	push   %eax
41a02f:	ff 75 b4             	push   -0x4c(%ebp)
41a032:	e8 99 19 00 00       	call   0x41b9d0
41a037:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a03e:	83 c4 18             	add    $0x18,%esp
41a041:	8b 7d bc             	mov    -0x44(%ebp),%edi
41a044:	8b d8                	mov    %eax,%ebx
41a046:	85 ff                	test   %edi,%edi
41a048:	74 29                	je     0x41a073
41a04a:	8b 07                	mov    (%edi),%eax
41a04c:	8b 70 08             	mov    0x8(%eax),%esi
41a04f:	8b ce                	mov    %esi,%ecx
41a051:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a057:	8b cf                	mov    %edi,%ecx
41a059:	ff d6                	call   *%esi
41a05b:	8b f8                	mov    %eax,%edi
41a05d:	85 ff                	test   %edi,%edi
41a05f:	74 12                	je     0x41a073
41a061:	8b 07                	mov    (%edi),%eax
41a063:	6a 01                	push   $0x1
41a065:	8b 30                	mov    (%eax),%esi
41a067:	8b ce                	mov    %esi,%ecx
41a069:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a06f:	8b cf                	mov    %edi,%ecx
41a071:	ff d6                	call   *%esi
41a073:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41a077:	75 0d                	jne    0x41a086
41a079:	8b 5d b0             	mov    -0x50(%ebp),%ebx
41a07c:	33 f6                	xor    %esi,%esi
41a07e:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a084:	eb 33                	jmp    0x41a0b9
41a086:	8d 45 bc             	lea    -0x44(%ebp),%eax
41a089:	50                   	push   %eax
41a08a:	53                   	push   %ebx
41a08b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41a08e:	50                   	push   %eax
41a08f:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a092:	50                   	push   %eax
41a093:	e8 57 f2 04 00       	call   0x4692ef
41a098:	8b f0                	mov    %eax,%esi
41a09a:	83 c4 10             	add    $0x10,%esp
41a09d:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a0a0:	39 45 b4             	cmp    %eax,-0x4c(%ebp)
41a0a3:	74 06                	je     0x41a0ab
41a0a5:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
41a0a9:	74 0b                	je     0x41a0b6
41a0ab:	8b 5d b0             	mov    -0x50(%ebp),%ebx
41a0ae:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a0b4:	eb 03                	jmp    0x41a0b9
41a0b6:	8b 5d b0             	mov    -0x50(%ebp),%ebx
41a0b9:	80 7d c4 00          	cmpb   $0x0,-0x3c(%ebp)
41a0bd:	75 08                	jne    0x41a0c7
41a0bf:	8d 4d c0             	lea    -0x40(%ebp),%ecx
41a0c2:	e8 d9 32 00 00       	call   0x41d3a0
41a0c7:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
41a0cb:	75 08                	jne    0x41a0d5
41a0cd:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41a0d0:	e8 cb 32 00 00       	call   0x41d3a0
41a0d5:	8b 45 c0             	mov    -0x40(%ebp),%eax
41a0d8:	85 c0                	test   %eax,%eax
41a0da:	75 07                	jne    0x41a0e3
41a0dc:	39 45 c8             	cmp    %eax,-0x38(%ebp)
41a0df:	74 08                	je     0x41a0e9
41a0e1:	eb 09                	jmp    0x41a0ec
41a0e3:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
41a0e7:	74 03                	je     0x41a0ec
41a0e9:	83 0b 01             	orl    $0x1,(%ebx)
41a0ec:	8b 4d ac             	mov    -0x54(%ebp),%ecx
41a0ef:	89 31                	mov    %esi,(%ecx)
41a0f1:	8b 4d a8             	mov    -0x58(%ebp),%ecx
41a0f4:	89 01                	mov    %eax,(%ecx)
41a0f6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a0f9:	89 41 04             	mov    %eax,0x4(%ecx)
41a0fc:	8b c1                	mov    %ecx,%eax
41a0fe:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a101:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a108:	59                   	pop    %ecx
41a109:	5f                   	pop    %edi
41a10a:	5e                   	pop    %esi
41a10b:	5b                   	pop    %ebx
41a10c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a10f:	33 cd                	xor    %ebp,%ecx
41a111:	e8 b4 f8 04 00       	call   0x4699ca
41a116:	8b e5                	mov    %ebp,%esp
41a118:	5d                   	pop    %ebp
41a119:	c2 20 00             	ret    $0x20
41a11c:	cc                   	int3
41a11d:	cc                   	int3
41a11e:	cc                   	int3
41a11f:	cc                   	int3
41a120:	55                   	push   %ebp
41a121:	8b ec                	mov    %esp,%ebp
41a123:	6a ff                	push   $0xffffffff
41a125:	68 dd 8e 49 00       	push   $0x498edd
41a12a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a130:	50                   	push   %eax
41a131:	83 ec 3c             	sub    $0x3c,%esp
41a134:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41a139:	33 c5                	xor    %ebp,%eax
41a13b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a13e:	53                   	push   %ebx
41a13f:	56                   	push   %esi
41a140:	57                   	push   %edi
41a141:	50                   	push   %eax
41a142:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a145:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a14b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
41a14e:	8b 45 08             	mov    0x8(%ebp),%eax
41a151:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41a154:	89 45 b8             	mov    %eax,-0x48(%ebp)
41a157:	8b 45 20             	mov    0x20(%ebp),%eax
41a15a:	89 45 c0             	mov    %eax,-0x40(%ebp)
41a15d:	8b 45 24             	mov    0x24(%ebp),%eax
41a160:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a163:	8b 43 30             	mov    0x30(%ebx),%eax
41a166:	8b 78 04             	mov    0x4(%eax),%edi
41a169:	89 7d cc             	mov    %edi,-0x34(%ebp)
41a16c:	8b 07                	mov    (%edi),%eax
41a16e:	8b 70 04             	mov    0x4(%eax),%esi
41a171:	8b ce                	mov    %esi,%ecx
41a173:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a179:	8b cf                	mov    %edi,%ecx
41a17b:	ff d6                	call   *%esi
41a17d:	8d 45 c8             	lea    -0x38(%ebp),%eax
41a180:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41a187:	50                   	push   %eax
41a188:	ff 73 14             	push   0x14(%ebx)
41a18b:	8d 45 14             	lea    0x14(%ebp),%eax
41a18e:	50                   	push   %eax
41a18f:	8d 45 0c             	lea    0xc(%ebp),%eax
41a192:	50                   	push   %eax
41a193:	8d 45 d0             	lea    -0x30(%ebp),%eax
41a196:	50                   	push   %eax
41a197:	ff 75 c4             	push   -0x3c(%ebp)
41a19a:	e8 31 18 00 00       	call   0x41b9d0
41a19f:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
41a1a6:	83 c4 18             	add    $0x18,%esp
41a1a9:	8b 7d cc             	mov    -0x34(%ebp),%edi
41a1ac:	8b c8                	mov    %eax,%ecx
41a1ae:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
41a1b1:	85 ff                	test   %edi,%edi
41a1b3:	74 2c                	je     0x41a1e1
41a1b5:	8b 07                	mov    (%edi),%eax
41a1b7:	8b 70 08             	mov    0x8(%eax),%esi
41a1ba:	8b ce                	mov    %esi,%ecx
41a1bc:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a1c2:	8b cf                	mov    %edi,%ecx
41a1c4:	ff d6                	call   *%esi
41a1c6:	8b f8                	mov    %eax,%edi
41a1c8:	85 ff                	test   %edi,%edi
41a1ca:	74 12                	je     0x41a1de
41a1cc:	8b 07                	mov    (%edi),%eax
41a1ce:	6a 01                	push   $0x1
41a1d0:	8b 30                	mov    (%eax),%esi
41a1d2:	8b ce                	mov    %esi,%ecx
41a1d4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a1da:	8b cf                	mov    %edi,%ecx
41a1dc:	ff d6                	call   *%esi
41a1de:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
41a1e1:	8a 45 d0             	mov    -0x30(%ebp),%al
41a1e4:	84 c0                	test   %al,%al
41a1e6:	75 13                	jne    0x41a1fb
41a1e8:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41a1eb:	33 c9                	xor    %ecx,%ecx
41a1ed:	8b 45 bc             	mov    -0x44(%ebp),%eax
41a1f0:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a1f6:	66 89 08             	mov    %cx,(%eax)
41a1f9:	eb 5a                	jmp    0x41a255
41a1fb:	3c 2d                	cmp    $0x2d,%al
41a1fd:	8d 55 d0             	lea    -0x30(%ebp),%edx
41a200:	8d 45 cc             	lea    -0x34(%ebp),%eax
41a203:	50                   	push   %eax
41a204:	51                   	push   %ecx
41a205:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41a208:	0f 94 c3             	sete   %bl
41a20b:	8d 75 d1             	lea    -0x2f(%ebp),%esi
41a20e:	0f 45 f2             	cmovne %edx,%esi
41a211:	50                   	push   %eax
41a212:	56                   	push   %esi
41a213:	e8 d7 f0 04 00       	call   0x4692ef
41a218:	8b 4d bc             	mov    -0x44(%ebp),%ecx
41a21b:	8b d0                	mov    %eax,%edx
41a21d:	83 c4 10             	add    $0x10,%esp
41a220:	0f b7 c2             	movzwl %dx,%eax
41a223:	66 89 01             	mov    %ax,(%ecx)
41a226:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
41a229:	74 19                	je     0x41a244
41a22b:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
41a22f:	75 13                	jne    0x41a244
41a231:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
41a237:	77 0b                	ja     0x41a244
41a239:	84 db                	test   %bl,%bl
41a23b:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41a23e:	74 15                	je     0x41a255
41a240:	f7 d8                	neg    %eax
41a242:	eb 0e                	jmp    0x41a252
41a244:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41a247:	b8 ff ff 00 00       	mov    $0xffff,%eax
41a24c:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
41a252:	66 89 01             	mov    %ax,(%ecx)
41a255:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41a259:	75 08                	jne    0x41a263
41a25b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41a25e:	e8 3d 31 00 00       	call   0x41d3a0
41a263:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41a267:	75 08                	jne    0x41a271
41a269:	8d 4d 14             	lea    0x14(%ebp),%ecx
41a26c:	e8 2f 31 00 00       	call   0x41d3a0
41a271:	8b 45 0c             	mov    0xc(%ebp),%eax
41a274:	85 c0                	test   %eax,%eax
41a276:	75 07                	jne    0x41a27f
41a278:	39 45 14             	cmp    %eax,0x14(%ebp)
41a27b:	74 08                	je     0x41a285
41a27d:	eb 09                	jmp    0x41a288
41a27f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a283:	74 03                	je     0x41a288
41a285:	83 0b 01             	orl    $0x1,(%ebx)
41a288:	8b 55 b8             	mov    -0x48(%ebp),%edx
41a28b:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a28e:	89 02                	mov    %eax,(%edx)
41a290:	8b c2                	mov    %edx,%eax
41a292:	89 4a 04             	mov    %ecx,0x4(%edx)
41a295:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a298:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a29f:	59                   	pop    %ecx
41a2a0:	5f                   	pop    %edi
41a2a1:	5e                   	pop    %esi
41a2a2:	5b                   	pop    %ebx
41a2a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a2a6:	33 cd                	xor    %ebp,%ecx
41a2a8:	e8 1d f7 04 00       	call   0x4699ca
41a2ad:	8b e5                	mov    %ebp,%esp
41a2af:	5d                   	pop    %ebp
41a2b0:	c2 20 00             	ret    $0x20
41a2b3:	cc                   	int3
41a2b4:	cc                   	int3
41a2b5:	cc                   	int3
41a2b6:	cc                   	int3
41a2b7:	cc                   	int3
41a2b8:	cc                   	int3
41a2b9:	cc                   	int3
41a2ba:	cc                   	int3
41a2bb:	cc                   	int3
41a2bc:	cc                   	int3
41a2bd:	cc                   	int3
41a2be:	cc                   	int3
41a2bf:	cc                   	int3
41a2c0:	55                   	push   %ebp
41a2c1:	8b ec                	mov    %esp,%ebp
41a2c3:	6a ff                	push   $0xffffffff
41a2c5:	68 7d 8f 49 00       	push   $0x498f7d
41a2ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41a2d0:	50                   	push   %eax
41a2d1:	83 ec 6c             	sub    $0x6c,%esp
41a2d4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41a2d9:	33 c5                	xor    %ebp,%eax
41a2db:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a2de:	53                   	push   %ebx
41a2df:	56                   	push   %esi
41a2e0:	57                   	push   %edi
41a2e1:	50                   	push   %eax
41a2e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a2e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41a2eb:	89 4d b0             	mov    %ecx,-0x50(%ebp)
41a2ee:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41a2f1:	8b 45 08             	mov    0x8(%ebp),%eax
41a2f4:	8b 5d 24             	mov    0x24(%ebp),%ebx
41a2f7:	89 45 88             	mov    %eax,-0x78(%ebp)
41a2fa:	8b 79 30             	mov    0x30(%ecx),%edi
41a2fd:	8b 45 20             	mov    0x20(%ebp),%eax
41a300:	f7 41 14 00 40 00 00 	testl  $0x4000,0x14(%ecx)
41a307:	89 45 ac             	mov    %eax,-0x54(%ebp)
41a30a:	8b 7f 04             	mov    0x4(%edi),%edi
41a30d:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41a310:	89 7d a8             	mov    %edi,-0x58(%ebp)
41a313:	8b 07                	mov    (%edi),%eax
41a315:	8b 70 04             	mov    0x4(%eax),%esi
41a318:	8b ce                	mov    %esi,%ecx
41a31a:	0f 84 13 02 00 00    	je     0x41a533
41a320:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a326:	8b cf                	mov    %edi,%ecx
41a328:	ff d6                	call   *%esi
41a32a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41a32d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41a334:	50                   	push   %eax
41a335:	e8 f6 eb ff ff       	call   0x418f30
41a33a:	8b 7d a8             	mov    -0x58(%ebp),%edi
41a33d:	83 c4 04             	add    $0x4,%esp
41a340:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a343:	85 ff                	test   %edi,%edi
41a345:	74 29                	je     0x41a370
41a347:	8b 07                	mov    (%edi),%eax
41a349:	8b 70 08             	mov    0x8(%eax),%esi
41a34c:	8b ce                	mov    %esi,%ecx
41a34e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a354:	8b cf                	mov    %edi,%ecx
41a356:	ff d6                	call   *%esi
41a358:	8b f8                	mov    %eax,%edi
41a35a:	85 ff                	test   %edi,%edi
41a35c:	74 12                	je     0x41a370
41a35e:	8b 07                	mov    (%edi),%eax
41a360:	6a 01                	push   $0x1
41a362:	8b 30                	mov    (%eax),%esi
41a364:	8b ce                	mov    %esi,%ecx
41a366:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a36c:	8b cf                	mov    %edi,%ecx
41a36e:	ff d6                	call   *%esi
41a370:	33 c0                	xor    %eax,%eax
41a372:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
41a379:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
41a380:	c7 45 c8 07 00 00 00 	movl   $0x7,-0x38(%ebp)
41a387:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41a38a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41a391:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
41a394:	8b 7d cc             	mov    -0x34(%ebp),%edi
41a397:	51                   	push   %ecx
41a398:	8b 07                	mov    (%edi),%eax
41a39a:	8b 70 18             	mov    0x18(%eax),%esi
41a39d:	8b ce                	mov    %esi,%ecx
41a39f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41a3a5:	8b cf                	mov    %edi,%ecx
41a3a7:	ff d6                	call   *%esi
41a3a9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41a3ad:	8d 45 8c             	lea    -0x74(%ebp),%eax
41a3b0:	83 7d a0 08          	cmpl   $0x8,-0x60(%ebp)
41a3b4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41a3b7:	ff 75 9c             	push   -0x64(%ebp)
41a3ba:	0f 43 45 8c          	cmovae -0x74(%ebp),%eax
41a3be:	50                   	push   %eax
41a3bf:	e8 4c 8b fe ff       	call   0x402f10
41a3c4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41a3c8:	8b 4d a0             	mov    -0x60(%ebp),%ecx
41a3cb:	83 f9 08             	cmp    $0x8,%ecx
41a3ce:	72 32                	jb     0x41a402
41a3d0:	8b 55 8c             	mov    -0x74(%ebp),%edx
41a3d3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41a3da:	8b c2                	mov    %edx,%eax
41a3dc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41a3e2:	72 14                	jb     0x41a3f8
41a3e4:	8b 50 fc             	mov    -0x4(%eax),%edx
41a3e7:	83 c1 23             	add    $0x23,%ecx
41a3ea:	2b c2                	sub    %edx,%eax