588003:	8b 7d 00             	mov    0x0(%ebp),%edi
588006:	74 40                	je     0x588048
588008:	3b ce                	cmp    %esi,%ecx
58800a:	74 35                	je     0x588041
58800c:	3b c8                	cmp    %eax,%ecx
58800e:	8b d7                	mov    %edi,%edx
588010:	0f 44 c7             	cmove  %edi,%eax
588013:	89 44 24 14          	mov    %eax,0x14(%esp)
588017:	8b 41 0c             	mov    0xc(%ecx),%eax
58801a:	85 c0                	test   %eax,%eax
58801c:	74 06                	je     0x588024
58801e:	89 78 10             	mov    %edi,0x10(%eax)
588021:	8b 55 00             	mov    0x0(%ebp),%edx
588024:	85 d2                	test   %edx,%edx
588026:	74 06                	je     0x58802e
588028:	8b 41 0c             	mov    0xc(%ecx),%eax
58802b:	89 42 0c             	mov    %eax,0xc(%edx)
58802e:	8b 44 24 14          	mov    0x14(%esp),%eax
588032:	89 4e 10             	mov    %ecx,0x10(%esi)
588035:	89 71 0c             	mov    %esi,0xc(%ecx)
588038:	8b f1                	mov    %ecx,%esi
58803a:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
588041:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
588048:	3b cb                	cmp    %ebx,%ecx
58804a:	75 aa                	jne    0x587ff6
58804c:	89 44 24 14          	mov    %eax,0x14(%esp)
588050:	8b 44 24 2c          	mov    0x2c(%esp),%eax
588054:	68 15 06 00 00       	push   $0x615
588059:	68 a4 46 66 00       	push   $0x6646a4
58805e:	89 74 24 18          	mov    %esi,0x18(%esp)
588062:	8d 04 85 34 01 00 00 	lea    0x134(,%eax,4),%eax
588069:	50                   	push   %eax
58806a:	e8 e1 86 f5 ff       	call   0x4e0750
58806f:	8b e8                	mov    %eax,%ebp
588071:	83 c4 0c             	add    $0xc,%esp
588074:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
588078:	85 ed                	test   %ebp,%ebp
58807a:	75 38                	jne    0x5880b4
58807c:	68 17 06 00 00       	push   $0x617
588081:	68 a4 46 66 00       	push   $0x6646a4
588086:	ff 74 24 20          	push   0x20(%esp)
58808a:	e8 f1 86 f5 ff       	call   0x4e0780
58808f:	68 18 06 00 00       	push   $0x618
588094:	68 a4 46 66 00       	push   $0x6646a4
588099:	6a 41                	push   $0x41
58809b:	68 a6 00 00 00       	push   $0xa6
5880a0:	6a 14                	push   $0x14
5880a2:	e8 d9 0e f5 ff       	call   0x4d8f80
5880a7:	83 c4 20             	add    $0x20,%esp
5880aa:	33 c0                	xor    %eax,%eax
5880ac:	5d                   	pop    %ebp
5880ad:	5f                   	pop    %edi
5880ae:	5e                   	pop    %esi
5880af:	5b                   	pop    %ebx
5880b0:	83 c4 20             	add    $0x20,%esp
5880b3:	c3                   	ret
5880b4:	f7 54 24 1c          	notl   0x1c(%esp)
5880b8:	8b d5                	mov    %ebp,%edx
5880ba:	f7 54 24 20          	notl   0x20(%esp)
5880be:	f7 54 24 28          	notl   0x28(%esp)
5880c2:	f7 54 24 24          	notl   0x24(%esp)
5880c6:	85 f6                	test   %esi,%esi
5880c8:	74 14                	je     0x5880de
5880ca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5880d0:	8b 06                	mov    (%esi),%eax
5880d2:	89 02                	mov    %eax,(%edx)
5880d4:	83 c2 04             	add    $0x4,%edx
5880d7:	8b 76 0c             	mov    0xc(%esi),%esi
5880da:	85 f6                	test   %esi,%esi
5880dc:	75 f2                	jne    0x5880d0
5880de:	8b 6c 24 24          	mov    0x24(%esp),%ebp
5880e2:	b9 94 31 66 00       	mov    $0x663194,%ecx
5880e7:	8b 41 fc             	mov    -0x4(%ecx),%eax
5880ea:	8b 31                	mov    (%ecx),%esi
5880ec:	8b 79 04             	mov    0x4(%ecx),%edi
5880ef:	8b 59 08             	mov    0x8(%ecx),%ebx
5880f2:	85 c0                	test   %eax,%eax
5880f4:	74 06                	je     0x5880fc
5880f6:	85 44 24 1c          	test   %eax,0x1c(%esp)
5880fa:	74 24                	je     0x588120
5880fc:	85 f6                	test   %esi,%esi
5880fe:	74 06                	je     0x588106
588100:	85 74 24 20          	test   %esi,0x20(%esp)
588104:	74 1a                	je     0x588120
588106:	85 ff                	test   %edi,%edi
588108:	74 06                	je     0x588110
58810a:	85 7c 24 28          	test   %edi,0x28(%esp)
58810e:	74 10                	je     0x588120
588110:	85 db                	test   %ebx,%ebx
588112:	74 04                	je     0x588118
588114:	85 dd                	test   %ebx,%ebp
588116:	74 08                	je     0x588120
588118:	8d 41 ec             	lea    -0x14(%ecx),%eax
58811b:	89 02                	mov    %eax,(%edx)
58811d:	83 c2 04             	add    $0x4,%edx
588120:	83 c1 40             	add    $0x40,%ecx
588123:	81 f9 94 44 66 00    	cmp    $0x664494,%ecx
588129:	7c bc                	jl     0x5880e7
58812b:	8b 5c 24 44          	mov    0x44(%esp),%ebx
58812f:	bf 01 00 00 00       	mov    $0x1,%edi
588134:	6a 07                	push   $0x7
588136:	68 7c 47 66 00       	push   $0x66477c
58813b:	53                   	push   %ebx
58813c:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
588142:	8b f3                	mov    %ebx,%esi
588144:	e8 47 d6 05 00       	call   0x5e5790
588149:	8b 6c 24 38          	mov    0x38(%esp),%ebp
58814d:	83 c4 0c             	add    $0xc,%esp
588150:	85 c0                	test   %eax,%eax
588152:	75 2d                	jne    0x588181
588154:	ff 74 24 48          	push   0x48(%esp)
588158:	8d 44 24 18          	lea    0x18(%esp),%eax
58815c:	55                   	push   %ebp
58815d:	50                   	push   %eax
58815e:	8d 44 24 1c          	lea    0x1c(%esp),%eax
588162:	50                   	push   %eax
588163:	68 84 47 66 00       	push   $0x664784
588168:	e8 93 f0 ff ff       	call   0x587200
58816d:	8d 73 07             	lea    0x7(%ebx),%esi
588170:	83 c4 14             	add    $0x14,%esp
588173:	80 3e 3a             	cmpb   $0x3a,(%esi)
588176:	8b f8                	mov    %eax,%edi
588178:	75 03                	jne    0x58817d
58817a:	8d 73 08             	lea    0x8(%ebx),%esi
58817d:	85 ff                	test   %edi,%edi
58817f:	74 2a                	je     0x5881ab
588181:	8b ce                	mov    %esi,%ecx
588183:	8d 51 01             	lea    0x1(%ecx),%edx
588186:	8a 01                	mov    (%ecx),%al
588188:	41                   	inc    %ecx
588189:	84 c0                	test   %al,%al
58818b:	75 f9                	jne    0x588186
58818d:	2b ca                	sub    %edx,%ecx
58818f:	74 1a                	je     0x5881ab
588191:	ff 74 24 48          	push   0x48(%esp)
588195:	8d 44 24 18          	lea    0x18(%esp),%eax
588199:	55                   	push   %ebp
58819a:	50                   	push   %eax
58819b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
58819f:	50                   	push   %eax
5881a0:	56                   	push   %esi
5881a1:	e8 5a f0 ff ff       	call   0x587200
5881a6:	83 c4 14             	add    $0x14,%esp
5881a9:	8b f8                	mov    %eax,%edi
5881ab:	68 30 06 00 00       	push   $0x630
5881b0:	68 a4 46 66 00       	push   $0x6646a4
5881b5:	55                   	push   %ebp
5881b6:	e8 c5 85 f5 ff       	call   0x4e0780
5881bb:	83 c4 0c             	add    $0xc,%esp
5881be:	85 ff                	test   %edi,%edi
5881c0:	75 07                	jne    0x5881c9
5881c2:	68 33 06 00 00       	push   $0x633
5881c7:	eb 10                	jmp    0x5881d9
5881c9:	e8 52 ce f5 ff       	call   0x4e5020
5881ce:	8b f8                	mov    %eax,%edi
5881d0:	85 ff                	test   %edi,%edi
5881d2:	75 20                	jne    0x5881f4
5881d4:	68 3c 06 00 00       	push   $0x63c
5881d9:	68 a4 46 66 00       	push   $0x6646a4
5881de:	ff 74 24 20          	push   0x20(%esp)
5881e2:	e8 99 85 f5 ff       	call   0x4e0780
5881e7:	83 c4 0c             	add    $0xc,%esp
5881ea:	33 c0                	xor    %eax,%eax
5881ec:	5d                   	pop    %ebp
5881ed:	5f                   	pop    %edi
5881ee:	5e                   	pop    %esi
5881ef:	5b                   	pop    %ebx
5881f0:	83 c4 20             	add    $0x20,%esp
5881f3:	c3                   	ret
5881f4:	8b 5c 24 38          	mov    0x38(%esp),%ebx
5881f8:	33 f6                	xor    %esi,%esi
5881fa:	53                   	push   %ebx
5881fb:	e8 c0 ce f5 ff       	call   0x4e50c0
588200:	83 c4 04             	add    $0x4,%esp
588203:	85 c0                	test   %eax,%eax
588205:	7e 23                	jle    0x58822a
588207:	56                   	push   %esi
588208:	53                   	push   %ebx
588209:	e8 72 d0 f5 ff       	call   0x4e5280
58820e:	50                   	push   %eax
58820f:	57                   	push   %edi
588210:	e8 3b cf f5 ff       	call   0x4e5150
588215:	83 c4 10             	add    $0x10,%esp
588218:	85 c0                	test   %eax,%eax
58821a:	74 56                	je     0x588272
58821c:	53                   	push   %ebx
58821d:	46                   	inc    %esi
58821e:	e8 9d ce f5 ff       	call   0x4e50c0
588223:	83 c4 04             	add    $0x4,%esp
588226:	3b f0                	cmp    %eax,%esi
588228:	7c dd                	jl     0x588207
58822a:	8b 74 24 10          	mov    0x10(%esp),%esi
58822e:	85 f6                	test   %esi,%esi
588230:	74 1c                	je     0x58824e
588232:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
588236:	74 0f                	je     0x588247
588238:	ff 36                	push   (%esi)
58823a:	57                   	push   %edi
58823b:	e8 10 cf f5 ff       	call   0x4e5150
588240:	83 c4 08             	add    $0x8,%esp
588243:	85 c0                	test   %eax,%eax
588245:	74 3e                	je     0x588285
588247:	8b 76 0c             	mov    0xc(%esi),%esi
58824a:	85 f6                	test   %esi,%esi
58824c:	75 e4                	jne    0x588232
58824e:	68 59 06 00 00       	push   $0x659
588253:	68 a4 46 66 00       	push   $0x6646a4
588258:	ff 74 24 20          	push   0x20(%esp)
58825c:	e8 1f 85 f5 ff       	call   0x4e0780
588261:	57                   	push   %edi
588262:	ff 74 24 50          	push   0x50(%esp)
588266:	e8 25 05 00 00       	call   0x588790
58826b:	83 c4 14             	add    $0x14,%esp
58826e:	85 c0                	test   %eax,%eax
588270:	75 39                	jne    0x5882ab
588272:	57                   	push   %edi
588273:	e8 a8 cc f5 ff       	call   0x4e4f20
588278:	83 c4 04             	add    $0x4,%esp
58827b:	33 c0                	xor    %eax,%eax
58827d:	5d                   	pop    %ebp
58827e:	5f                   	pop    %edi
58827f:	5e                   	pop    %esi
588280:	5b                   	pop    %ebx
588281:	83 c4 20             	add    $0x20,%esp
588284:	c3                   	ret
588285:	68 50 06 00 00       	push   $0x650
58828a:	68 a4 46 66 00       	push   $0x6646a4
58828f:	ff 74 24 20          	push   0x20(%esp)
588293:	e8 e8 84 f5 ff       	call   0x4e0780
588298:	57                   	push   %edi
588299:	e8 82 cc f5 ff       	call   0x4e4f20
58829e:	83 c4 10             	add    $0x10,%esp
5882a1:	33 c0                	xor    %eax,%eax
5882a3:	5d                   	pop    %ebp
5882a4:	5f                   	pop    %edi
5882a5:	5e                   	pop    %esi
5882a6:	5b                   	pop    %ebx
5882a7:	83 c4 20             	add    $0x20,%esp
5882aa:	c3                   	ret
5882ab:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
5882af:	ff 33                	push   (%ebx)
5882b1:	e8 6a cc f5 ff       	call   0x4e4f20
5882b6:	83 c4 04             	add    $0x4,%esp
5882b9:	89 3b                	mov    %edi,(%ebx)
5882bb:	8b c7                	mov    %edi,%eax
5882bd:	5d                   	pop    %ebp
5882be:	5f                   	pop    %edi
5882bf:	5e                   	pop    %esi
5882c0:	5b                   	pop    %ebx
5882c1:	83 c4 20             	add    $0x20,%esp
5882c4:	c3                   	ret
5882c5:	cc                   	int3
5882c6:	cc                   	int3
5882c7:	cc                   	int3
5882c8:	cc                   	int3
5882c9:	cc                   	int3
5882ca:	cc                   	int3
5882cb:	cc                   	int3
5882cc:	cc                   	int3
5882cd:	cc                   	int3
5882ce:	cc                   	int3
5882cf:	cc                   	int3
5882d0:	8b 44 24 04          	mov    0x4(%esp),%eax
5882d4:	ff 74 24 08          	push   0x8(%esp)
5882d8:	8b 40 04             	mov    0x4(%eax),%eax
5882db:	8b 40 4c             	mov    0x4c(%eax),%eax
5882de:	ff d0                	call   *%eax
5882e0:	83 c4 04             	add    $0x4,%esp
5882e3:	85 c0                	test   %eax,%eax
5882e5:	74 0c                	je     0x5882f3
5882e7:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
5882ec:	75 07                	jne    0x5882f5
5882ee:	83 38 00             	cmpl   $0x0,(%eax)
5882f1:	75 02                	jne    0x5882f5
5882f3:	33 c0                	xor    %eax,%eax
5882f5:	c3                   	ret
5882f6:	cc                   	int3
5882f7:	cc                   	int3
5882f8:	cc                   	int3
5882f9:	cc                   	int3
5882fa:	cc                   	int3
5882fb:	cc                   	int3
5882fc:	cc                   	int3
5882fd:	cc                   	int3
5882fe:	cc                   	int3
5882ff:	cc                   	int3
588300:	ff 74 24 04          	push   0x4(%esp)
588304:	e8 f7 5c 00 00       	call   0x58e000
588309:	0f b6 c0             	movzbl %al,%eax
58830c:	83 c4 04             	add    $0x4,%esp
58830f:	83 f8 0c             	cmp    $0xc,%eax
588312:	73 08                	jae    0x58831c
588314:	8b 04 85 54 6c 69 00 	mov    0x696c54(,%eax,4),%eax
58831b:	c3                   	ret
58831c:	33 c0                	xor    %eax,%eax
58831e:	c3                   	ret
58831f:	cc                   	int3
588320:	b8 08 00 00 00       	mov    $0x8,%eax
588325:	e8 86 94 04 00       	call   0x5d17b0
58832a:	56                   	push   %esi
58832b:	57                   	push   %edi
58832c:	c7 05 b4 6c 69 00 00 	movl   $0x0,0x696cb4
588333:	00 00 00
588336:	e8 15 5d 00 00       	call   0x58e050
58833b:	bf d8 2f 66 00       	mov    $0x662fd8,%edi
588340:	33 f6                	xor    %esi,%esi
588342:	8b 47 04             	mov    0x4(%edi),%eax
588345:	85 c0                	test   %eax,%eax
588347:	75 08                	jne    0x588351
588349:	89 86 f8 6b 69 00    	mov    %eax,0x696bf8(%esi)
58834f:	eb 21                	jmp    0x588372
588351:	50                   	push   %eax
588352:	e8 19 72 f6 ff       	call   0x4ef570
588357:	50                   	push   %eax
588358:	e8 63 86 f6 ff       	call   0x4f09c0
58835d:	83 c4 08             	add    $0x8,%esp
588360:	89 86 f8 6b 69 00    	mov    %eax,0x696bf8(%esi)
588366:	85 c0                	test   %eax,%eax
588368:	75 08                	jne    0x588372
58836a:	8b 07                	mov    (%edi),%eax
58836c:	09 05 b4 6c 69 00    	or     %eax,0x696cb4
588372:	83 c6 04             	add    $0x4,%esi
588375:	83 c7 08             	add    $0x8,%edi
588378:	83 fe 58             	cmp    $0x58,%esi
58837b:	72 c5                	jb     0x588342
58837d:	c7 05 b8 6c 69 00 00 	movl   $0x0,0x696cb8
588384:	00 00 00
588387:	bf 88 30 66 00       	mov    $0x663088,%edi
58838c:	33 f6                	xor    %esi,%esi
58838e:	66 90                	xchg   %ax,%ax
588390:	ff 77 04             	push   0x4(%edi)
588393:	e8 d8 71 f6 ff       	call   0x4ef570
588398:	50                   	push   %eax
588399:	e8 52 86 f6 ff       	call   0x4f09f0
58839e:	83 c4 08             	add    $0x8,%esp
5883a1:	89 86 54 6c 69 00    	mov    %eax,0x696c54(%esi)
5883a7:	85 c0                	test   %eax,%eax
5883a9:	75 0a                	jne    0x5883b5
5883ab:	8b 07                	mov    (%edi),%eax
5883ad:	09 05 b8 6c 69 00    	or     %eax,0x696cb8
5883b3:	eb 17                	jmp    0x5883cc
5883b5:	50                   	push   %eax
5883b6:	e8 05 85 f6 ff       	call   0x4f08c0
5883bb:	83 c4 04             	add    $0x4,%esp
5883be:	85 c0                	test   %eax,%eax
5883c0:	0f 88 92 02 00 00    	js     0x588658
5883c6:	89 86 84 6c 69 00    	mov    %eax,0x696c84(%esi)
5883cc:	83 c6 04             	add    $0x4,%esi
5883cf:	83 c7 08             	add    $0x8,%edi
5883d2:	83 fe 30             	cmp    $0x30,%esi