5a7005:	8b 07                	mov    (%edi),%eax
5a7007:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5a700b:	8b 90 94 00 00 00    	mov    0x94(%eax),%edx
5a7011:	85 d2                	test   %edx,%edx
5a7013:	74 39                	je     0x5a704e
5a7015:	85 c9                	test   %ecx,%ecx
5a7017:	74 10                	je     0x5a7029
5a7019:	56                   	push   %esi
5a701a:	8d 43 04             	lea    0x4(%ebx),%eax
5a701d:	50                   	push   %eax
5a701e:	51                   	push   %ecx
5a701f:	57                   	push   %edi
5a7020:	ff d2                	call   *%edx
5a7022:	83 c4 10             	add    $0x10,%esp
5a7025:	85 c0                	test   %eax,%eax
5a7027:	74 93                	je     0x5a6fbc
5a7029:	8b 54 24 30          	mov    0x30(%esp),%edx
5a702d:	85 d2                	test   %edx,%edx
5a702f:	0f 84 4a 01 00 00    	je     0x5a717f
5a7035:	8b 0f                	mov    (%edi),%ecx
5a7037:	8d 43 18             	lea    0x18(%ebx),%eax
5a703a:	56                   	push   %esi
5a703b:	50                   	push   %eax
5a703c:	52                   	push   %edx
5a703d:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
5a7043:	57                   	push   %edi
5a7044:	ff d0                	call   *%eax
5a7046:	83 c4 10             	add    $0x10,%esp
5a7049:	e9 29 01 00 00       	jmp    0x5a7177
5a704e:	85 c9                	test   %ecx,%ecx
5a7050:	74 15                	je     0x5a7067
5a7052:	8d 43 04             	lea    0x4(%ebx),%eax
5a7055:	50                   	push   %eax
5a7056:	51                   	push   %ecx
5a7057:	e8 74 c0 f0 ff       	call   0x4b30d0
5a705c:	83 c4 08             	add    $0x8,%esp
5a705f:	85 c0                	test   %eax,%eax
5a7061:	0f 84 55 ff ff ff    	je     0x5a6fbc
5a7067:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5a706b:	85 c9                	test   %ecx,%ecx
5a706d:	0f 84 0c 01 00 00    	je     0x5a717f
5a7073:	8d 43 18             	lea    0x18(%ebx),%eax
5a7076:	50                   	push   %eax
5a7077:	51                   	push   %ecx
5a7078:	e8 53 c0 f0 ff       	call   0x4b30d0
5a707d:	83 c4 08             	add    $0x8,%esp
5a7080:	e9 f2 00 00 00       	jmp    0x5a7177
5a7085:	56                   	push   %esi
5a7086:	8d 47 48             	lea    0x48(%edi),%eax
5a7089:	50                   	push   %eax
5a708a:	55                   	push   %ebp
5a708b:	8b 6c 24 28          	mov    0x28(%esp),%ebp
5a708f:	55                   	push   %ebp
5a7090:	e8 fb 21 f3 ff       	call   0x4d9290
5a7095:	83 c4 10             	add    $0x10,%esp
5a7098:	85 c0                	test   %eax,%eax
5a709a:	75 20                	jne    0x5a70bc
5a709c:	68 57 02 00 00       	push   $0x257
5a70a1:	68 ac cf 6c 00       	push   $0x6ccfac
5a70a6:	6a 03                	push   $0x3
5a70a8:	68 a7 00 00 00       	push   $0xa7
5a70ad:	6a 10                	push   $0x10
5a70af:	e8 ec a3 ef ff       	call   0x4a14a0
5a70b4:	83 c4 14             	add    $0x14,%esp
5a70b7:	e9 00 ff ff ff       	jmp    0x5a6fbc
5a70bc:	8b 07                	mov    (%edi),%eax
5a70be:	56                   	push   %esi
5a70bf:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
5a70c6:	75 10                	jne    0x5a70d8
5a70c8:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
5a70ce:	55                   	push   %ebp
5a70cf:	ff 74 24 18          	push   0x18(%esp)
5a70d3:	57                   	push   %edi
5a70d4:	ff d0                	call   *%eax
5a70d6:	eb 0e                	jmp    0x5a70e6
5a70d8:	8d 47 48             	lea    0x48(%edi),%eax
5a70db:	50                   	push   %eax
5a70dc:	55                   	push   %ebp
5a70dd:	ff 74 24 1c          	push   0x1c(%esp)
5a70e1:	e8 7a 7b fc ff       	call   0x56ec60
5a70e6:	83 c4 10             	add    $0x10,%esp
5a70e9:	85 c0                	test   %eax,%eax
5a70eb:	0f 84 cb fe ff ff    	je     0x5a6fbc
5a70f1:	8b 54 24 2c          	mov    0x2c(%esp),%edx
5a70f5:	85 d2                	test   %edx,%edx
5a70f7:	74 20                	je     0x5a7119
5a70f9:	8b 0f                	mov    (%edi),%ecx
5a70fb:	8d 43 04             	lea    0x4(%ebx),%eax
5a70fe:	56                   	push   %esi
5a70ff:	ff 74 24 14          	push   0x14(%esp)
5a7103:	50                   	push   %eax
5a7104:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
5a710a:	52                   	push   %edx
5a710b:	57                   	push   %edi
5a710c:	ff d0                	call   *%eax
5a710e:	83 c4 14             	add    $0x14,%esp
5a7111:	85 c0                	test   %eax,%eax
5a7113:	0f 84 a3 fe ff ff    	je     0x5a6fbc
5a7119:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
5a711e:	74 5f                	je     0x5a717f
5a7120:	8b 07                	mov    (%edi),%eax
5a7122:	56                   	push   %esi
5a7123:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
5a712a:	75 15                	jne    0x5a7141
5a712c:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
5a7132:	55                   	push   %ebp
5a7133:	ff 74 24 18          	push   0x18(%esp)
5a7137:	8b 6c 24 20          	mov    0x20(%esp),%ebp
5a713b:	55                   	push   %ebp
5a713c:	57                   	push   %edi
5a713d:	ff d0                	call   *%eax
5a713f:	eb 13                	jmp    0x5a7154
5a7141:	8d 47 48             	lea    0x48(%edi),%eax
5a7144:	50                   	push   %eax
5a7145:	55                   	push   %ebp
5a7146:	ff 74 24 1c          	push   0x1c(%esp)
5a714a:	8b 6c 24 24          	mov    0x24(%esp),%ebp
5a714e:	55                   	push   %ebp
5a714f:	e8 8c 7a fc ff       	call   0x56ebe0
5a7154:	83 c4 14             	add    $0x14,%esp
5a7157:	85 c0                	test   %eax,%eax
5a7159:	0f 84 5d fe ff ff    	je     0x5a6fbc
5a715f:	8b 0f                	mov    (%edi),%ecx
5a7161:	8d 43 18             	lea    0x18(%ebx),%eax
5a7164:	56                   	push   %esi
5a7165:	55                   	push   %ebp
5a7166:	50                   	push   %eax
5a7167:	ff 74 24 3c          	push   0x3c(%esp)
5a716b:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
5a7171:	57                   	push   %edi
5a7172:	ff d0                	call   *%eax
5a7174:	83 c4 14             	add    $0x14,%esp
5a7177:	85 c0                	test   %eax,%eax
5a7179:	0f 84 3d fe ff ff    	je     0x5a6fbc
5a717f:	bb 01 00 00 00       	mov    $0x1,%ebx
5a7184:	e9 35 fe ff ff       	jmp    0x5a6fbe
5a7189:	cc                   	int3
5a718a:	cc                   	int3
5a718b:	cc                   	int3
5a718c:	cc                   	int3
5a718d:	cc                   	int3
5a718e:	cc                   	int3
5a718f:	cc                   	int3
5a7190:	b8 28 00 00 00       	mov    $0x28,%eax
5a7195:	e8 56 a3 03 00       	call   0x5e14f0
5a719a:	55                   	push   %ebp
5a719b:	8b 6c 24 38          	mov    0x38(%esp),%ebp
5a719f:	56                   	push   %esi
5a71a0:	8b 74 24 40          	mov    0x40(%esp),%esi
5a71a4:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
5a71ab:	00
5a71ac:	3b ee                	cmp    %esi,%ebp
5a71ae:	75 1b                	jne    0x5a71cb
5a71b0:	ff 74 24 44          	push   0x44(%esp)
5a71b4:	55                   	push   %ebp
5a71b5:	ff 74 24 40          	push   0x40(%esp)
5a71b9:	ff 74 24 40          	push   0x40(%esp)
5a71bd:	e8 5e 4d fd ff       	call   0x57bf20
5a71c2:	83 c4 10             	add    $0x10,%esp
5a71c5:	5e                   	pop    %esi
5a71c6:	5d                   	pop    %ebp
5a71c7:	83 c4 28             	add    $0x28,%esp
5a71ca:	c3                   	ret
5a71cb:	53                   	push   %ebx
5a71cc:	8b 5c 24 38          	mov    0x38(%esp),%ebx
5a71d0:	55                   	push   %ebp
5a71d1:	53                   	push   %ebx
5a71d2:	e8 79 4f fd ff       	call   0x57c150
5a71d7:	83 c4 08             	add    $0x8,%esp
5a71da:	56                   	push   %esi
5a71db:	85 c0                	test   %eax,%eax
5a71dd:	75 0e                	jne    0x5a71ed
5a71df:	53                   	push   %ebx
5a71e0:	e8 6b 4f fd ff       	call   0x57c150
5a71e5:	83 c4 08             	add    $0x8,%esp
5a71e8:	85 c0                	test   %eax,%eax
5a71ea:	74 14                	je     0x5a7200
5a71ec:	55                   	push   %ebp
5a71ed:	ff 74 24 40          	push   0x40(%esp)
5a71f1:	e8 ba 4c fd ff       	call   0x57beb0
5a71f6:	83 c4 08             	add    $0x8,%esp
5a71f9:	5b                   	pop    %ebx
5a71fa:	5e                   	pop    %esi
5a71fb:	5d                   	pop    %ebp
5a71fc:	83 c4 28             	add    $0x28,%esp
5a71ff:	c3                   	ret
5a7200:	8b 03                	mov    (%ebx),%eax
5a7202:	57                   	push   %edi
5a7203:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
5a7207:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
5a720d:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
5a7213:	89 44 24 24          	mov    %eax,0x24(%esp)
5a7217:	8d 43 48             	lea    0x48(%ebx),%eax
5a721a:	89 4c 24 44          	mov    %ecx,0x44(%esp)
5a721e:	89 44 24 34          	mov    %eax,0x34(%esp)
5a7222:	85 ff                	test   %edi,%edi
5a7224:	75 17                	jne    0x5a723d
5a7226:	e8 f5 0b f3 ff       	call   0x4d7e20
5a722b:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a722f:	8b f8                	mov    %eax,%edi
5a7231:	85 c0                	test   %eax,%eax
5a7233:	75 08                	jne    0x5a723d
5a7235:	5f                   	pop    %edi
5a7236:	5b                   	pop    %ebx
5a7237:	5e                   	pop    %esi
5a7238:	5d                   	pop    %ebp
5a7239:	83 c4 28             	add    $0x28,%esp
5a723c:	c3                   	ret
5a723d:	57                   	push   %edi
5a723e:	e8 5d 0c f3 ff       	call   0x4d7ea0
5a7243:	57                   	push   %edi
5a7244:	e8 77 0b f3 ff       	call   0x4d7dc0
5a7249:	57                   	push   %edi
5a724a:	8b f0                	mov    %eax,%esi
5a724c:	e8 6f 0b f3 ff       	call   0x4d7dc0
5a7251:	57                   	push   %edi
5a7252:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a7256:	e8 65 0b f3 ff       	call   0x4d7dc0
5a725b:	57                   	push   %edi
5a725c:	89 44 24 34          	mov    %eax,0x34(%esp)
5a7260:	e8 5b 0b f3 ff       	call   0x4d7dc0
5a7265:	57                   	push   %edi
5a7266:	89 44 24 28          	mov    %eax,0x28(%esp)
5a726a:	e8 51 0b f3 ff       	call   0x4d7dc0
5a726f:	57                   	push   %edi
5a7270:	89 44 24 30          	mov    %eax,0x30(%esp)
5a7274:	e8 47 0b f3 ff       	call   0x4d7dc0
5a7279:	57                   	push   %edi
5a727a:	89 44 24 38          	mov    %eax,0x38(%esp)
5a727e:	e8 3d 0b f3 ff       	call   0x4d7dc0
5a7283:	83 c4 20             	add    $0x20,%esp
5a7286:	89 44 24 28          	mov    %eax,0x28(%esp)
5a728a:	85 c0                	test   %eax,%eax
5a728c:	0f 84 da 03 00 00    	je     0x5a766c
5a7292:	8b 44 24 48          	mov    0x48(%esp),%eax
5a7296:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
5a729a:	74 2a                	je     0x5a72c6
5a729c:	8d 4d 04             	lea    0x4(%ebp),%ecx
5a729f:	51                   	push   %ecx
5a72a0:	ff 74 24 20          	push   0x20(%esp)
5a72a4:	e8 27 be f0 ff       	call   0x4b30d0
5a72a9:	83 c4 08             	add    $0x8,%esp
5a72ac:	85 c0                	test   %eax,%eax
5a72ae:	0f 84 b8 03 00 00    	je     0x5a766c
5a72b4:	8d 45 18             	lea    0x18(%ebp),%eax
5a72b7:	50                   	push   %eax
5a72b8:	ff 74 24 24          	push   0x24(%esp)
5a72bc:	e8 0f be f0 ff       	call   0x4b30d0
5a72c1:	83 c4 08             	add    $0x8,%esp
5a72c4:	eb 5d                	jmp    0x5a7323
5a72c6:	83 c0 2c             	add    $0x2c,%eax
5a72c9:	57                   	push   %edi
5a72ca:	50                   	push   %eax
5a72cb:	56                   	push   %esi
5a72cc:	53                   	push   %ebx
5a72cd:	89 44 24 40          	mov    %eax,0x40(%esp)
5a72d1:	ff 54 24 34          	call   *0x34(%esp)
5a72d5:	83 c4 10             	add    $0x10,%esp
5a72d8:	85 c0                	test   %eax,%eax
5a72da:	0f 84 8c 03 00 00    	je     0x5a766c
5a72e0:	57                   	push   %edi
5a72e1:	56                   	push   %esi
5a72e2:	8d 45 04             	lea    0x4(%ebp),%eax
5a72e5:	50                   	push   %eax
5a72e6:	ff 74 24 28          	push   0x28(%esp)
5a72ea:	53                   	push   %ebx
5a72eb:	ff 54 24 58          	call   *0x58(%esp)
5a72ef:	83 c4 14             	add    $0x14,%esp
5a72f2:	85 c0                	test   %eax,%eax
5a72f4:	0f 84 72 03 00 00    	je     0x5a766c
5a72fa:	57                   	push   %edi
5a72fb:	ff 74 24 34          	push   0x34(%esp)
5a72ff:	56                   	push   %esi
5a7300:	56                   	push   %esi
5a7301:	53                   	push   %ebx
5a7302:	ff 54 24 58          	call   *0x58(%esp)
5a7306:	83 c4 14             	add    $0x14,%esp
5a7309:	85 c0                	test   %eax,%eax
5a730b:	0f 84 5b 03 00 00    	je     0x5a766c
5a7311:	57                   	push   %edi
5a7312:	56                   	push   %esi
5a7313:	8d 45 18             	lea    0x18(%ebp),%eax
5a7316:	50                   	push   %eax
5a7317:	ff 74 24 2c          	push   0x2c(%esp)
5a731b:	53                   	push   %ebx
5a731c:	ff 54 24 58          	call   *0x58(%esp)
5a7320:	83 c4 14             	add    $0x14,%esp
5a7323:	85 c0                	test   %eax,%eax
5a7325:	0f 84 41 03 00 00    	je     0x5a766c
5a732b:	83 7d 40 00          	cmpl   $0x0,0x40(%ebp)
5a732f:	74 32                	je     0x5a7363
5a7331:	8b 44 24 48          	mov    0x48(%esp),%eax
5a7335:	83 c0 04             	add    $0x4,%eax
5a7338:	50                   	push   %eax
5a7339:	ff 74 24 14          	push   0x14(%esp)
5a733d:	e8 8e bd f0 ff       	call   0x4b30d0
5a7342:	83 c4 08             	add    $0x8,%esp
5a7345:	85 c0                	test   %eax,%eax
5a7347:	0f 84 1f 03 00 00    	je     0x5a766c
5a734d:	8b 44 24 48          	mov    0x48(%esp),%eax
5a7351:	83 c0 18             	add    $0x18,%eax
5a7354:	50                   	push   %eax
5a7355:	ff 74 24 18          	push   0x18(%esp)
5a7359:	e8 72 bd f0 ff       	call   0x4b30d0
5a735e:	83 c4 08             	add    $0x8,%esp
5a7361:	eb 61                	jmp    0x5a73c4
5a7363:	57                   	push   %edi
5a7364:	8d 45 2c             	lea    0x2c(%ebp),%eax
5a7367:	50                   	push   %eax
5a7368:	56                   	push   %esi
5a7369:	53                   	push   %ebx
5a736a:	ff 54 24 34          	call   *0x34(%esp)
5a736e:	83 c4 10             	add    $0x10,%esp
5a7371:	85 c0                	test   %eax,%eax
5a7373:	0f 84 f3 02 00 00    	je     0x5a766c
5a7379:	8b 44 24 48          	mov    0x48(%esp),%eax
5a737d:	57                   	push   %edi
5a737e:	56                   	push   %esi
5a737f:	83 c0 04             	add    $0x4,%eax
5a7382:	50                   	push   %eax
5a7383:	ff 74 24 1c          	push   0x1c(%esp)
5a7387:	53                   	push   %ebx
5a7388:	ff 54 24 58          	call   *0x58(%esp)
5a738c:	83 c4 14             	add    $0x14,%esp
5a738f:	85 c0                	test   %eax,%eax
5a7391:	0f 84 d5 02 00 00    	je     0x5a766c
5a7397:	57                   	push   %edi
5a7398:	8d 45 2c             	lea    0x2c(%ebp),%eax
5a739b:	50                   	push   %eax
5a739c:	56                   	push   %esi
5a739d:	56                   	push   %esi
5a739e:	53                   	push   %ebx
5a739f:	ff 54 24 58          	call   *0x58(%esp)
5a73a3:	83 c4 14             	add    $0x14,%esp
5a73a6:	85 c0                	test   %eax,%eax
5a73a8:	0f 84 be 02 00 00    	je     0x5a766c
5a73ae:	8b 44 24 48          	mov    0x48(%esp),%eax
5a73b2:	57                   	push   %edi
5a73b3:	56                   	push   %esi
5a73b4:	83 c0 18             	add    $0x18,%eax
5a73b7:	50                   	push   %eax
5a73b8:	ff 74 24 20          	push   0x20(%esp)
5a73bc:	53                   	push   %ebx
5a73bd:	ff 54 24 58          	call   *0x58(%esp)
5a73c1:	83 c4 14             	add    $0x14,%esp
5a73c4:	85 c0                	test   %eax,%eax
5a73c6:	0f 84 a0 02 00 00    	je     0x5a766c
5a73cc:	8d 43 48             	lea    0x48(%ebx),%eax
5a73cf:	50                   	push   %eax
5a73d0:	ff 74 24 14          	push   0x14(%esp)