5ab033:	83 f8 03             	cmp    $0x3,%eax
5ab036:	75 61                	jne    0x5ab099
5ab038:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
5ab03e:	8b 88 e0 00 00 00    	mov    0xe0(%eax),%ecx
5ab044:	85 c9                	test   %ecx,%ecx
5ab046:	74 3f                	je     0x5ab087
5ab048:	ff b0 e4 00 00 00    	push   0xe4(%eax)
5ab04e:	56                   	push   %esi
5ab04f:	ff d1                	call   *%ecx
5ab051:	83 c4 08             	add    $0x8,%esp
5ab054:	85 c0                	test   %eax,%eax
5ab056:	79 12                	jns    0x5ab06a
5ab058:	5f                   	pop    %edi
5ab059:	c7 46 14 04 00 00 00 	movl   $0x4,0x14(%esi)
5ab060:	b8 03 00 00 00       	mov    $0x3,%eax
5ab065:	5e                   	pop    %esi
5ab066:	83 c4 08             	add    $0x8,%esp
5ab069:	c3                   	ret
5ab06a:	75 14                	jne    0x5ab080
5ab06c:	68 8f 0d 00 00       	push   $0xd8f
5ab071:	68 18 81 66 00       	push   $0x668118
5ab076:	68 ea 00 00 00       	push   $0xea
5ab07b:	e9 96 01 00 00       	jmp    0x5ab216
5ab080:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
5ab087:	56                   	push   %esi
5ab088:	e8 23 ef ff ff       	call   0x5a9fb0
5ab08d:	83 c4 04             	add    $0x4,%esp
5ab090:	85 c0                	test   %eax,%eax
5ab092:	74 0e                	je     0x5ab0a2
5ab094:	e9 5d 01 00 00       	jmp    0x5ab1f6
5ab099:	83 f8 04             	cmp    $0x4,%eax
5ab09c:	0f 85 68 01 00 00    	jne    0x5ab20a
5ab0a2:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
5ab0a8:	33 c9                	xor    %ecx,%ecx
5ab0aa:	39 88 24 01 00 00    	cmp    %ecx,0x124(%eax)
5ab0b0:	74 36                	je     0x5ab0e8
5ab0b2:	51                   	push   %ecx
5ab0b3:	51                   	push   %ecx
5ab0b4:	51                   	push   %ecx
5ab0b5:	8d 44 24 14          	lea    0x14(%esp),%eax
5ab0b9:	50                   	push   %eax
5ab0ba:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5ab0be:	50                   	push   %eax
5ab0bf:	56                   	push   %esi
5ab0c0:	e8 5b fd fd ff       	call   0x58ae20
5ab0c5:	83 c4 04             	add    $0x4,%esp
5ab0c8:	50                   	push   %eax
5ab0c9:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
5ab0cf:	56                   	push   %esi
5ab0d0:	ff b0 24 01 00 00    	push   0x124(%eax)
5ab0d6:	e8 45 d5 f6 ff       	call   0x518620
5ab0db:	8b c8                	mov    %eax,%ecx
5ab0dd:	83 c4 20             	add    $0x20,%esp
5ab0e0:	85 c9                	test   %ecx,%ecx
5ab0e2:	74 04                	je     0x5ab0e8
5ab0e4:	8b f8                	mov    %eax,%edi
5ab0e6:	eb 21                	jmp    0x5ab109
5ab0e8:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
5ab0ee:	8b 40 78             	mov    0x78(%eax),%eax
5ab0f1:	85 c0                	test   %eax,%eax
5ab0f3:	74 12                	je     0x5ab107
5ab0f5:	8d 4c 24 08          	lea    0x8(%esp),%ecx
5ab0f9:	51                   	push   %ecx
5ab0fa:	8d 4c 24 10          	lea    0x10(%esp),%ecx
5ab0fe:	51                   	push   %ecx
5ab0ff:	56                   	push   %esi
5ab100:	ff d0                	call   *%eax
5ab102:	83 c4 0c             	add    $0xc,%esp
5ab105:	8b c8                	mov    %eax,%ecx
5ab107:	8b f9                	mov    %ecx,%edi
5ab109:	85 c9                	test   %ecx,%ecx
5ab10b:	79 12                	jns    0x5ab11f
5ab10d:	5f                   	pop    %edi
5ab10e:	c7 46 14 04 00 00 00 	movl   $0x4,0x14(%esi)
5ab115:	b8 04 00 00 00       	mov    $0x4,%eax
5ab11a:	5e                   	pop    %esi
5ab11b:	83 c4 08             	add    $0x8,%esp
5ab11e:	c3                   	ret
5ab11f:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
5ab126:	83 f9 01             	cmp    $0x1,%ecx
5ab129:	75 30                	jne    0x5ab15b
5ab12b:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5ab130:	74 7c                	je     0x5ab1ae
5ab132:	8b 44 24 0c          	mov    0xc(%esp),%eax
5ab136:	85 c0                	test   %eax,%eax
5ab138:	74 74                	je     0x5ab1ae
5ab13a:	50                   	push   %eax
5ab13b:	56                   	push   %esi
5ab13c:	e8 8f de 00 00       	call   0x5b8fd0
5ab141:	83 c4 08             	add    $0x8,%esp
5ab144:	85 c0                	test   %eax,%eax
5ab146:	74 11                	je     0x5ab159
5ab148:	ff 74 24 08          	push   0x8(%esp)
5ab14c:	56                   	push   %esi
5ab14d:	e8 fe dc 00 00       	call   0x5b8e50
5ab152:	83 c4 08             	add    $0x8,%esp
5ab155:	85 c0                	test   %eax,%eax
5ab157:	75 02                	jne    0x5ab15b
5ab159:	33 ff                	xor    %edi,%edi
5ab15b:	ff 74 24 0c          	push   0xc(%esp)
5ab15f:	e8 7c c0 fa ff       	call   0x5571e0
5ab164:	ff 74 24 0c          	push   0xc(%esp)
5ab168:	e8 73 5b f4 ff       	call   0x4f0ce0
5ab16d:	83 c4 08             	add    $0x8,%esp
5ab170:	85 ff                	test   %edi,%edi
5ab172:	74 0d                	je     0x5ab181
5ab174:	56                   	push   %esi
5ab175:	e8 36 ee ff ff       	call   0x5a9fb0
5ab17a:	83 c4 04             	add    $0x4,%esp
5ab17d:	85 c0                	test   %eax,%eax
5ab17f:	75 75                	jne    0x5ab1f6
5ab181:	81 3e 00 03 00 00    	cmpl   $0x300,(%esi)
5ab187:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab18a:	75 51                	jne    0x5ab1dd
5ab18c:	6a 29                	push   $0x29
5ab18e:	6a 01                	push   $0x1
5ab190:	56                   	push   %esi
5ab191:	c7 80 18 02 00 00 00 	movl   $0x0,0x218(%eax)
5ab198:	00 00 00
5ab19b:	e8 10 94 ff ff       	call   0x5a45b0
5ab1a0:	83 c4 0c             	add    $0xc,%esp
5ab1a3:	5f                   	pop    %edi
5ab1a4:	b8 02 00 00 00       	mov    $0x2,%eax
5ab1a9:	5e                   	pop    %esi
5ab1aa:	83 c4 08             	add    $0x8,%esp
5ab1ad:	c3                   	ret
5ab1ae:	68 b1 0d 00 00       	push   $0xdb1
5ab1b3:	68 18 81 66 00       	push   $0x668118
5ab1b8:	6a 6a                	push   $0x6a
5ab1ba:	68 68 01 00 00       	push   $0x168
5ab1bf:	6a 14                	push   $0x14
5ab1c1:	e8 ba dd f2 ff       	call   0x4d8f80
5ab1c6:	ff 74 24 20          	push   0x20(%esp)
5ab1ca:	e8 11 c0 fa ff       	call   0x5571e0
5ab1cf:	ff 74 24 20          	push   0x20(%esp)
5ab1d3:	e8 08 5b f4 ff       	call   0x4f0ce0
5ab1d8:	83 c4 1c             	add    $0x1c,%esp
5ab1db:	eb a4                	jmp    0x5ab181
5ab1dd:	6a 00                	push   $0x0
5ab1df:	56                   	push   %esi
5ab1e0:	c7 80 18 02 00 00 02 	movl   $0x2,0x218(%eax)
5ab1e7:	00 00 00
5ab1ea:	e8 91 7f ff ff       	call   0x5a3180
5ab1ef:	83 c4 08             	add    $0x8,%esp
5ab1f2:	85 c0                	test   %eax,%eax
5ab1f4:	74 30                	je     0x5ab226
5ab1f6:	83 be f4 05 00 00 04 	cmpl   $0x4,0x5f4(%esi)
5ab1fd:	75 a4                	jne    0x5ab1a3
5ab1ff:	5f                   	pop    %edi
5ab200:	b8 01 00 00 00       	mov    $0x1,%eax
5ab205:	5e                   	pop    %esi
5ab206:	83 c4 08             	add    $0x8,%esp
5ab209:	c3                   	ret
5ab20a:	68 cd 0d 00 00       	push   $0xdcd
5ab20f:	68 18 81 66 00       	push   $0x668118
5ab214:	6a 44                	push   $0x44
5ab216:	68 68 01 00 00       	push   $0x168
5ab21b:	6a 50                	push   $0x50
5ab21d:	56                   	push   %esi
5ab21e:	e8 ed 3e fe ff       	call   0x58f110
5ab223:	83 c4 18             	add    $0x18,%esp
5ab226:	5f                   	pop    %edi
5ab227:	33 c0                	xor    %eax,%eax
5ab229:	5e                   	pop    %esi
5ab22a:	83 c4 08             	add    $0x8,%esp
5ab22d:	c3                   	ret
5ab22e:	cc                   	int3
5ab22f:	cc                   	int3
5ab230:	53                   	push   %ebx
5ab231:	57                   	push   %edi
5ab232:	8b 7c 24 10          	mov    0x10(%esp),%edi
5ab236:	8b 57 04             	mov    0x4(%edi),%edx
5ab239:	85 d2                	test   %edx,%edx
5ab23b:	0f 84 f6 00 00 00    	je     0x5ab337
5ab241:	8b 07                	mov    (%edi),%eax
5ab243:	4a                   	dec    %edx
5ab244:	8a 08                	mov    (%eax),%cl
5ab246:	8d 58 01             	lea    0x1(%eax),%ebx
5ab249:	89 1f                	mov    %ebx,(%edi)
5ab24b:	89 57 04             	mov    %edx,0x4(%edi)
5ab24e:	80 f9 01             	cmp    $0x1,%cl
5ab251:	0f 85 e0 00 00 00    	jne    0x5ab337
5ab257:	56                   	push   %esi
5ab258:	83 fa 03             	cmp    $0x3,%edx
5ab25b:	0f 82 ae 00 00 00    	jb     0x5ab30f
5ab261:	0f b6 33             	movzbl (%ebx),%esi
5ab264:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5ab268:	c1 e6 08             	shl    $0x8,%esi
5ab26b:	0b f0                	or     %eax,%esi
5ab26d:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
5ab271:	c1 e6 08             	shl    $0x8,%esi
5ab274:	0b f0                	or     %eax,%esi
5ab276:	8d 43 03             	lea    0x3(%ebx),%eax
5ab279:	89 07                	mov    %eax,(%edi)
5ab27b:	8d 42 fd             	lea    -0x3(%edx),%eax
5ab27e:	89 47 04             	mov    %eax,0x4(%edi)
5ab281:	3b c6                	cmp    %esi,%eax
5ab283:	0f 85 86 00 00 00    	jne    0x5ab30f
5ab289:	68 d5 0a 00 00       	push   $0xad5
5ab28e:	68 18 81 66 00       	push   $0x668118
5ab293:	56                   	push   %esi
5ab294:	e8 b7 54 f3 ff       	call   0x4e0750
5ab299:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5ab29d:	83 c4 0c             	add    $0xc,%esp
5ab2a0:	89 83 54 05 00 00    	mov    %eax,0x554(%ebx)
5ab2a6:	85 c0                	test   %eax,%eax
5ab2a8:	75 22                	jne    0x5ab2cc
5ab2aa:	68 d8 0a 00 00       	push   $0xad8
5ab2af:	68 18 81 66 00       	push   $0x668118
5ab2b4:	6a 41                	push   $0x41
5ab2b6:	68 ef 01 00 00       	push   $0x1ef
5ab2bb:	6a 50                	push   $0x50
5ab2bd:	53                   	push   %ebx
5ab2be:	e8 4d 3e fe ff       	call   0x58f110
5ab2c3:	83 c4 18             	add    $0x18,%esp
5ab2c6:	33 c0                	xor    %eax,%eax
5ab2c8:	5e                   	pop    %esi
5ab2c9:	5f                   	pop    %edi
5ab2ca:	5b                   	pop    %ebx
5ab2cb:	c3                   	ret
5ab2cc:	56                   	push   %esi
5ab2cd:	50                   	push   %eax
5ab2ce:	57                   	push   %edi
5ab2cf:	e8 8c 01 ff ff       	call   0x59b460
5ab2d4:	83 c4 0c             	add    $0xc,%esp
5ab2d7:	85 c0                	test   %eax,%eax
5ab2d9:	75 25                	jne    0x5ab300
5ab2db:	68 dd 0a 00 00       	push   $0xadd
5ab2e0:	68 18 81 66 00       	push   $0x668118
5ab2e5:	68 9f 00 00 00       	push   $0x9f
5ab2ea:	68 ef 01 00 00       	push   $0x1ef
5ab2ef:	6a 32                	push   $0x32
5ab2f1:	53                   	push   %ebx
5ab2f2:	e8 19 3e fe ff       	call   0x58f110
5ab2f7:	83 c4 18             	add    $0x18,%esp
5ab2fa:	33 c0                	xor    %eax,%eax
5ab2fc:	5e                   	pop    %esi
5ab2fd:	5f                   	pop    %edi
5ab2fe:	5b                   	pop    %ebx
5ab2ff:	c3                   	ret
5ab300:	89 b3 58 05 00 00    	mov    %esi,0x558(%ebx)
5ab306:	b8 01 00 00 00       	mov    $0x1,%eax
5ab30b:	5e                   	pop    %esi
5ab30c:	5f                   	pop    %edi
5ab30d:	5b                   	pop    %ebx
5ab30e:	c3                   	ret
5ab30f:	68 d2 0a 00 00       	push   $0xad2
5ab314:	68 18 81 66 00       	push   $0x668118
5ab319:	68 9f 00 00 00       	push   $0x9f
5ab31e:	68 ef 01 00 00       	push   $0x1ef
5ab323:	6a 32                	push   $0x32
5ab325:	ff 74 24 24          	push   0x24(%esp)
5ab329:	e8 e2 3d fe ff       	call   0x58f110
5ab32e:	83 c4 18             	add    $0x18,%esp
5ab331:	33 c0                	xor    %eax,%eax
5ab333:	5e                   	pop    %esi
5ab334:	5f                   	pop    %edi
5ab335:	5b                   	pop    %ebx
5ab336:	c3                   	ret
5ab337:	68 cc 0a 00 00       	push   $0xacc
5ab33c:	68 18 81 66 00       	push   $0x668118
5ab341:	68 49 01 00 00       	push   $0x149
5ab346:	68 ef 01 00 00       	push   $0x1ef
5ab34b:	6a 32                	push   $0x32
5ab34d:	ff 74 24 20          	push   0x20(%esp)
5ab351:	e8 ba 3d fe ff       	call   0x58f110
5ab356:	83 c4 18             	add    $0x18,%esp
5ab359:	33 c0                	xor    %eax,%eax
5ab35b:	5f                   	pop    %edi
5ab35c:	5b                   	pop    %ebx
5ab35d:	c3                   	ret
5ab35e:	cc                   	int3
5ab35f:	cc                   	int3
5ab360:	b8 10 00 00 00       	mov    $0x10,%eax
5ab365:	e8 46 64 02 00       	call   0x5d17b0
5ab36a:	53                   	push   %ebx
5ab36b:	55                   	push   %ebp
5ab36c:	56                   	push   %esi
5ab36d:	8b 74 24 20          	mov    0x20(%esp),%esi
5ab371:	57                   	push   %edi
5ab372:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab375:	c7 80 7c 02 00 00 00 	movl   $0x0,0x27c(%eax)
5ab37c:	00 00 00
5ab37f:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab382:	c7 80 80 02 00 00 00 	movl   $0x0,0x280(%eax)
5ab389:	00 00 00
5ab38c:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab38f:	c7 80 84 02 00 00 00 	movl   $0x0,0x284(%eax)
5ab396:	00 00 00
5ab399:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab39c:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%eax)
5ab3a3:	00 00 00
5ab3a6:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3a9:	c7 80 8c 02 00 00 00 	movl   $0x0,0x28c(%eax)
5ab3b0:	00 00 00
5ab3b3:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3b6:	c7 80 90 02 00 00 00 	movl   $0x0,0x290(%eax)
5ab3bd:	00 00 00
5ab3c0:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3c3:	c7 80 94 02 00 00 00 	movl   $0x0,0x294(%eax)
5ab3ca:	00 00 00
5ab3cd:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3d0:	c7 80 98 02 00 00 00 	movl   $0x0,0x298(%eax)
5ab3d7:	00 00 00
5ab3da:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab3dd:	c7 80 9c 02 00 00 00 	movl   $0x0,0x29c(%eax)
5ab3e4:	00 00 00
5ab3e7:	8b 4e 04             	mov    0x4(%esi),%ecx
5ab3ea:	8b 41 64             	mov    0x64(%ecx),%eax
5ab3ed:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5ab3f1:	0f 85 b1 01 00 00    	jne    0x5ab5a8
5ab3f7:	8b 01                	mov    (%ecx),%eax
5ab3f9:	3d 04 03 00 00       	cmp    $0x304,%eax
5ab3fe:	0f 8c a4 01 00 00    	jl     0x5ab5a8
5ab404:	3d 00 00 01 00       	cmp    $0x10000,%eax
5ab409:	0f 84 99 01 00 00    	je     0x5ab5a8
5ab40f:	f6 46 28 01          	testb  $0x1,0x28(%esi)
5ab413:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
5ab41a:	00
5ab41b:	74 0d                	je     0x5ab42a
5ab41d:	5f                   	pop    %edi
5ab41e:	5e                   	pop    %esi
5ab41f:	5d                   	pop    %ebp
5ab420:	b8 01 00 00 00       	mov    $0x1,%eax
5ab425:	5b                   	pop    %ebx
5ab426:	83 c4 10             	add    $0x10,%esp
5ab429:	c3                   	ret
5ab42a:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab42d:	68 9d 09 00 00       	push   $0x99d
5ab432:	68 18 81 66 00       	push   $0x668118
5ab437:	ff b0 1c 02 00 00    	push   0x21c(%eax)
5ab43d:	e8 3e 53 f3 ff       	call   0x4e0780
5ab442:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab445:	8d 9e fc 05 00 00    	lea    0x5fc(%esi),%ebx
5ab44b:	68 a0 09 00 00       	push   $0x9a0
5ab450:	68 18 81 66 00       	push   $0x668118
5ab455:	c7 80 1c 02 00 00 00 	movl   $0x0,0x21c(%eax)
5ab45c:	00 00 00
5ab45f:	8b 46 7c             	mov    0x7c(%esi),%eax
5ab462:	c7 80 20 02 00 00 00 	movl   $0x0,0x220(%eax)
5ab469:	00 00 00
5ab46c:	ff 33                	push   (%ebx)
5ab46e:	e8 0d 53 f3 ff       	call   0x4e0780
5ab473:	8b 7c 24 40          	mov    0x40(%esp),%edi
5ab477:	83 c4 18             	add    $0x18,%esp
5ab47a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5ab480:	8b 4f 04             	mov    0x4(%edi),%ecx
5ab483:	8b 07                	mov    (%edi),%eax
5ab485:	85 c9                	test   %ecx,%ecx
5ab487:	0f 84 11 01 00 00    	je     0x5ab59e