59cff5:	56                   	push   %esi
59cff6:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
59cffd:	00
59cffe:	e8 4d f1 fd ff       	call   0x57c150
59d003:	83 c4 08             	add    $0x8,%esp
59d006:	85 c0                	test   %eax,%eax
59d008:	74 1c                	je     0x59d026
59d00a:	ff 74 24 34          	push   0x34(%esp)
59d00e:	ff 74 24 30          	push   0x30(%esp)
59d012:	e8 99 ee fd ff       	call   0x57beb0
59d017:	83 c4 08             	add    $0x8,%esp
59d01a:	f7 d8                	neg    %eax
59d01c:	1b c0                	sbb    %eax,%eax
59d01e:	f7 d8                	neg    %eax
59d020:	5e                   	pop    %esi
59d021:	5b                   	pop    %ebx
59d022:	83 c4 1c             	add    $0x1c,%esp
59d025:	c3                   	ret
59d026:	8b 44 24 34          	mov    0x34(%esp),%eax
59d02a:	50                   	push   %eax
59d02b:	56                   	push   %esi
59d02c:	e8 1f f1 fd ff       	call   0x57c150
59d031:	83 c4 08             	add    $0x8,%esp
59d034:	85 c0                	test   %eax,%eax
59d036:	74 03                	je     0x59d03b
59d038:	53                   	push   %ebx
59d039:	eb d3                	jmp    0x59d00e
59d03b:	8b 5c 24 38          	mov    0x38(%esp),%ebx
59d03f:	85 db                	test   %ebx,%ebx
59d041:	75 15                	jne    0x59d058
59d043:	e8 d8 ad f3 ff       	call   0x4d7e20
59d048:	89 44 24 20          	mov    %eax,0x20(%esp)
59d04c:	8b d8                	mov    %eax,%ebx
59d04e:	85 c0                	test   %eax,%eax
59d050:	75 06                	jne    0x59d058
59d052:	5e                   	pop    %esi
59d053:	5b                   	pop    %ebx
59d054:	83 c4 1c             	add    $0x1c,%esp
59d057:	c3                   	ret
59d058:	55                   	push   %ebp
59d059:	57                   	push   %edi
59d05a:	53                   	push   %ebx
59d05b:	e8 40 ae f3 ff       	call   0x4d7ea0
59d060:	53                   	push   %ebx
59d061:	e8 5a ad f3 ff       	call   0x4d7dc0
59d066:	53                   	push   %ebx
59d067:	89 44 24 24          	mov    %eax,0x24(%esp)
59d06b:	e8 50 ad f3 ff       	call   0x4d7dc0
59d070:	53                   	push   %ebx
59d071:	89 44 24 2c          	mov    %eax,0x2c(%esp)
59d075:	e8 46 ad f3 ff       	call   0x4d7dc0
59d07a:	53                   	push   %ebx
59d07b:	89 44 24 24          	mov    %eax,0x24(%esp)
59d07f:	e8 3c ad f3 ff       	call   0x4d7dc0
59d084:	53                   	push   %ebx
59d085:	89 44 24 2c          	mov    %eax,0x2c(%esp)
59d089:	e8 32 ad f3 ff       	call   0x4d7dc0
59d08e:	53                   	push   %ebx
59d08f:	8b f8                	mov    %eax,%edi
59d091:	e8 2a ad f3 ff       	call   0x4d7dc0
59d096:	53                   	push   %ebx
59d097:	89 44 24 44          	mov    %eax,0x44(%esp)
59d09b:	e8 20 ad f3 ff       	call   0x4d7dc0
59d0a0:	53                   	push   %ebx
59d0a1:	8b e8                	mov    %eax,%ebp
59d0a3:	e8 18 ad f3 ff       	call   0x4d7dc0
59d0a8:	83 c4 24             	add    $0x24,%esp
59d0ab:	89 44 24 20          	mov    %eax,0x20(%esp)
59d0af:	85 c0                	test   %eax,%eax
59d0b1:	0f 84 7b 02 00 00    	je     0x59d332
59d0b7:	8b 44 24 38          	mov    0x38(%esp),%eax
59d0bb:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
59d0bf:	74 2e                	je     0x59d0ef
59d0c1:	8d 48 04             	lea    0x4(%eax),%ecx
59d0c4:	51                   	push   %ecx
59d0c5:	ff 74 24 1c          	push   0x1c(%esp)
59d0c9:	e8 02 60 f1 ff       	call   0x4b30d0
59d0ce:	83 c4 08             	add    $0x8,%esp
59d0d1:	85 c0                	test   %eax,%eax
59d0d3:	0f 84 59 02 00 00    	je     0x59d332
59d0d9:	8b 44 24 38          	mov    0x38(%esp),%eax
59d0dd:	83 c0 18             	add    $0x18,%eax
59d0e0:	50                   	push   %eax
59d0e1:	ff 74 24 20          	push   0x20(%esp)
59d0e5:	e8 e6 5f f1 ff       	call   0x4b30d0
59d0ea:	83 c4 08             	add    $0x8,%esp
59d0ed:	eb 13                	jmp    0x59d102
59d0ef:	53                   	push   %ebx
59d0f0:	ff 74 24 20          	push   0x20(%esp)
59d0f4:	ff 74 24 20          	push   0x20(%esp)
59d0f8:	50                   	push   %eax
59d0f9:	56                   	push   %esi
59d0fa:	e8 11 ef fd ff       	call   0x57c010
59d0ff:	83 c4 14             	add    $0x14,%esp
59d102:	85 c0                	test   %eax,%eax
59d104:	0f 84 28 02 00 00    	je     0x59d332
59d10a:	8b 44 24 3c          	mov    0x3c(%esp),%eax
59d10e:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
59d112:	74 2e                	je     0x59d142
59d114:	83 c0 04             	add    $0x4,%eax
59d117:	50                   	push   %eax
59d118:	ff 74 24 14          	push   0x14(%esp)
59d11c:	e8 af 5f f1 ff       	call   0x4b30d0
59d121:	83 c4 08             	add    $0x8,%esp
59d124:	85 c0                	test   %eax,%eax
59d126:	0f 84 06 02 00 00    	je     0x59d332
59d12c:	8b 44 24 3c          	mov    0x3c(%esp),%eax
59d130:	83 c0 18             	add    $0x18,%eax
59d133:	50                   	push   %eax
59d134:	ff 74 24 18          	push   0x18(%esp)
59d138:	e8 93 5f f1 ff       	call   0x4b30d0
59d13d:	83 c4 08             	add    $0x8,%esp
59d140:	eb 13                	jmp    0x59d155
59d142:	53                   	push   %ebx
59d143:	ff 74 24 18          	push   0x18(%esp)
59d147:	ff 74 24 18          	push   0x18(%esp)
59d14b:	50                   	push   %eax
59d14c:	56                   	push   %esi
59d14d:	e8 be ee fd ff       	call   0x57c010
59d152:	83 c4 14             	add    $0x14,%esp
59d155:	85 c0                	test   %eax,%eax
59d157:	0f 84 d5 01 00 00    	je     0x59d332
59d15d:	ff 74 24 10          	push   0x10(%esp)
59d161:	ff 74 24 1c          	push   0x1c(%esp)
59d165:	e8 e6 63 f1 ff       	call   0x4b3550
59d16a:	83 c4 08             	add    $0x8,%esp
59d16d:	85 c0                	test   %eax,%eax
59d16f:	0f 84 9d 00 00 00    	je     0x59d212
59d175:	ff 74 24 10          	push   0x10(%esp)
59d179:	ff 74 24 1c          	push   0x1c(%esp)
59d17d:	ff 74 24 28          	push   0x28(%esp)
59d181:	e8 7a cf 00 00       	call   0x5aa100
59d186:	83 c4 0c             	add    $0xc,%esp
59d189:	85 c0                	test   %eax,%eax
59d18b:	0f 84 a1 01 00 00    	je     0x59d332
59d191:	ff 74 24 14          	push   0x14(%esp)
59d195:	ff 74 24 20          	push   0x20(%esp)
59d199:	55                   	push   %ebp
59d19a:	e8 61 cf 00 00       	call   0x5aa100
59d19f:	83 c4 0c             	add    $0xc,%esp
59d1a2:	85 c0                	test   %eax,%eax
59d1a4:	0f 84 88 01 00 00    	je     0x59d332
59d1aa:	8b 06                	mov    (%esi),%eax
59d1ac:	53                   	push   %ebx
59d1ad:	ff 74 24 24          	push   0x24(%esp)
59d1b1:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
59d1b7:	55                   	push   %ebp
59d1b8:	55                   	push   %ebp
59d1b9:	56                   	push   %esi
59d1ba:	ff d0                	call   *%eax
59d1bc:	83 c4 14             	add    $0x14,%esp
59d1bf:	85 c0                	test   %eax,%eax
59d1c1:	0f 84 6b 01 00 00    	je     0x59d332
59d1c7:	8b 06                	mov    (%esi),%eax
59d1c9:	53                   	push   %ebx
59d1ca:	55                   	push   %ebp
59d1cb:	57                   	push   %edi
59d1cc:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
59d1d2:	56                   	push   %esi
59d1d3:	ff d0                	call   *%eax
59d1d5:	83 c4 10             	add    $0x10,%esp
59d1d8:	85 c0                	test   %eax,%eax
59d1da:	0f 84 52 01 00 00    	je     0x59d332
59d1e0:	8d 46 74             	lea    0x74(%esi),%eax
59d1e3:	50                   	push   %eax
59d1e4:	57                   	push   %edi
59d1e5:	57                   	push   %edi
59d1e6:	e8 15 cf 00 00       	call   0x5aa100
59d1eb:	83 c4 0c             	add    $0xc,%esp
59d1ee:	85 c0                	test   %eax,%eax
59d1f0:	0f 84 3c 01 00 00    	je     0x59d332
59d1f6:	55                   	push   %ebp
59d1f7:	57                   	push   %edi
59d1f8:	57                   	push   %edi
59d1f9:	e8 02 cf 00 00       	call   0x5aa100
59d1fe:	83 c4 0c             	add    $0xc,%esp
59d201:	85 c0                	test   %eax,%eax
59d203:	0f 84 29 01 00 00    	je     0x59d332
59d209:	ff 74 24 20          	push   0x20(%esp)
59d20d:	e9 88 00 00 00       	jmp    0x59d29a
59d212:	ff 74 24 14          	push   0x14(%esp)
59d216:	ff 74 24 20          	push   0x20(%esp)
59d21a:	e8 31 63 f1 ff       	call   0x4b3550
59d21f:	83 c4 08             	add    $0x8,%esp
59d222:	85 c0                	test   %eax,%eax
59d224:	0f 85 ed 00 00 00    	jne    0x59d317
59d22a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
59d22e:	39 41 04             	cmp    %eax,0x4(%ecx)
59d231:	0f 84 e0 00 00 00    	je     0x59d317
59d237:	8b 06                	mov    (%esi),%eax
59d239:	53                   	push   %ebx
59d23a:	51                   	push   %ecx
59d23b:	ff 74 24 1c          	push   0x1c(%esp)
59d23f:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
59d245:	55                   	push   %ebp
59d246:	56                   	push   %esi
59d247:	ff d0                	call   *%eax
59d249:	83 c4 14             	add    $0x14,%esp
59d24c:	85 c0                	test   %eax,%eax
59d24e:	0f 84 de 00 00 00    	je     0x59d332
59d254:	ff 74 24 10          	push   0x10(%esp)
59d258:	55                   	push   %ebp
59d259:	55                   	push   %ebp
59d25a:	e8 a1 ce 00 00       	call   0x5aa100
59d25f:	83 c4 0c             	add    $0xc,%esp
59d262:	85 c0                	test   %eax,%eax
59d264:	0f 84 c8 00 00 00    	je     0x59d332
59d26a:	8b 06                	mov    (%esi),%eax
59d26c:	53                   	push   %ebx
59d26d:	55                   	push   %ebp
59d26e:	57                   	push   %edi
59d26f:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
59d275:	56                   	push   %esi
59d276:	ff d0                	call   *%eax
59d278:	83 c4 10             	add    $0x10,%esp
59d27b:	85 c0                	test   %eax,%eax
59d27d:	0f 84 af 00 00 00    	je     0x59d332
59d283:	55                   	push   %ebp
59d284:	57                   	push   %edi
59d285:	57                   	push   %edi
59d286:	e8 75 ce 00 00       	call   0x5aa100
59d28b:	83 c4 0c             	add    $0xc,%esp
59d28e:	85 c0                	test   %eax,%eax
59d290:	0f 84 9c 00 00 00    	je     0x59d332
59d296:	8d 46 74             	lea    0x74(%esi),%eax
59d299:	50                   	push   %eax
59d29a:	57                   	push   %edi
59d29b:	57                   	push   %edi
59d29c:	e8 5f ce 00 00       	call   0x5aa100
59d2a1:	83 c4 0c             	add    $0xc,%esp
59d2a4:	85 c0                	test   %eax,%eax
59d2a6:	0f 84 86 00 00 00    	je     0x59d332
59d2ac:	57                   	push   %edi
59d2ad:	ff 74 24 14          	push   0x14(%esp)
59d2b1:	ff 74 24 2c          	push   0x2c(%esp)
59d2b5:	e8 46 ce 00 00       	call   0x5aa100
59d2ba:	83 c4 0c             	add    $0xc,%esp
59d2bd:	85 c0                	test   %eax,%eax
59d2bf:	74 71                	je     0x59d332
59d2c1:	8b 06                	mov    (%esi),%eax
59d2c3:	53                   	push   %ebx
59d2c4:	55                   	push   %ebp
59d2c5:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
59d2c9:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
59d2cf:	55                   	push   %ebp
59d2d0:	55                   	push   %ebp
59d2d1:	56                   	push   %esi
59d2d2:	ff d0                	call   *%eax
59d2d4:	83 c4 14             	add    $0x14,%esp
59d2d7:	85 c0                	test   %eax,%eax
59d2d9:	74 57                	je     0x59d332
59d2db:	57                   	push   %edi
59d2dc:	55                   	push   %ebp
59d2dd:	55                   	push   %ebp
59d2de:	e8 1d ce 00 00       	call   0x5aa100
59d2e3:	83 c4 0c             	add    $0xc,%esp
59d2e6:	85 c0                	test   %eax,%eax
59d2e8:	74 48                	je     0x59d332
59d2ea:	ff 74 24 14          	push   0x14(%esp)
59d2ee:	55                   	push   %ebp
59d2ef:	55                   	push   %ebp
59d2f0:	e8 0b ce 00 00       	call   0x5aa100
59d2f5:	83 c4 0c             	add    $0xc,%esp
59d2f8:	85 c0                	test   %eax,%eax
59d2fa:	74 36                	je     0x59d332
59d2fc:	53                   	push   %ebx
59d2fd:	55                   	push   %ebp
59d2fe:	57                   	push   %edi
59d2ff:	ff 74 24 40          	push   0x40(%esp)
59d303:	56                   	push   %esi
59d304:	e8 07 f1 fd ff       	call   0x57c410
59d309:	83 c4 14             	add    $0x14,%esp
59d30c:	85 c0                	test   %eax,%eax
59d30e:	74 22                	je     0x59d332
59d310:	bd 01 00 00 00       	mov    $0x1,%ebp
59d315:	eb 1d                	jmp    0x59d334
59d317:	ff 74 24 34          	push   0x34(%esp)
59d31b:	56                   	push   %esi
59d31c:	e8 cf f1 fd ff       	call   0x57c4f0
59d321:	33 ed                	xor    %ebp,%ebp
59d323:	83 c4 08             	add    $0x8,%esp
59d326:	85 c0                	test   %eax,%eax
59d328:	b9 01 00 00 00       	mov    $0x1,%ecx
59d32d:	0f 45 e9             	cmovne %ecx,%ebp
59d330:	eb 02                	jmp    0x59d334
59d332:	33 ed                	xor    %ebp,%ebp
59d334:	53                   	push   %ebx
59d335:	e8 16 aa f3 ff       	call   0x4d7d50
59d33a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
59d33e:	83 c4 04             	add    $0x4,%esp
59d341:	85 c0                	test   %eax,%eax
59d343:	74 09                	je     0x59d34e
59d345:	50                   	push   %eax
59d346:	e8 45 aa f3 ff       	call   0x4d7d90
59d34b:	83 c4 04             	add    $0x4,%esp
59d34e:	5f                   	pop    %edi
59d34f:	8b c5                	mov    %ebp,%eax
59d351:	5d                   	pop    %ebp
59d352:	5e                   	pop    %esi
59d353:	5b                   	pop    %ebx
59d354:	83 c4 1c             	add    $0x1c,%esp
59d357:	c3                   	ret
59d358:	cc                   	int3
59d359:	cc                   	int3
59d35a:	cc                   	int3
59d35b:	cc                   	int3
59d35c:	cc                   	int3
59d35d:	cc                   	int3
59d35e:	cc                   	int3
59d35f:	cc                   	int3
59d360:	ff 74 24 10          	push   0x10(%esp)
59d364:	8b 44 24 10          	mov    0x10(%esp),%eax
59d368:	50                   	push   %eax
59d369:	50                   	push   %eax
59d36a:	ff 74 24 14          	push   0x14(%esp)
59d36e:	ff 74 24 14          	push   0x14(%esp)
59d372:	e8 69 fc ff ff       	call   0x59cfe0
59d377:	83 c4 14             	add    $0x14,%esp
59d37a:	c3                   	ret
59d37b:	cc                   	int3
59d37c:	cc                   	int3
59d37d:	cc                   	int3
59d37e:	cc                   	int3
59d37f:	cc                   	int3
59d380:	56                   	push   %esi
59d381:	8b 74 24 0c          	mov    0xc(%esp),%esi
59d385:	56                   	push   %esi
59d386:	ff 74 24 0c          	push   0xc(%esp)
59d38a:	e8 c1 ed fd ff       	call   0x57c150
59d38f:	83 c4 08             	add    $0x8,%esp
59d392:	85 c0                	test   %eax,%eax
59d394:	75 2f                	jne    0x59d3c5
59d396:	39 46 1c             	cmp    %eax,0x1c(%esi)
59d399:	74 2a                	je     0x59d3c5
59d39b:	ff 74 24 10          	push   0x10(%esp)
59d39f:	56                   	push   %esi
59d3a0:	ff 74 24 10          	push   0x10(%esp)
59d3a4:	e8 67 ee fd ff       	call   0x57c210
59d3a9:	83 c4 0c             	add    $0xc,%esp
59d3ac:	85 c0                	test   %eax,%eax
59d3ae:	75 02                	jne    0x59d3b2
59d3b0:	5e                   	pop    %esi
59d3b1:	c3                   	ret
59d3b2:	8d 4e 18             	lea    0x18(%esi),%ecx
59d3b5:	51                   	push   %ecx
59d3b6:	8d 46 04             	lea    0x4(%esi),%eax
59d3b9:	50                   	push   %eax
59d3ba:	51                   	push   %ecx
59d3bb:	e8 40 cd 00 00       	call   0x5aa100
59d3c0:	83 c4 0c             	add    $0xc,%esp