51b00d:	0f 84 b3 00 00 00    	je     0x51b0c6
51b013:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51b017:	53                   	push   %ebx
51b018:	8b 5e 14             	mov    0x14(%esi),%ebx
51b01b:	74 12                	je     0x51b02f
51b01d:	ff 47 0c             	incl   0xc(%edi)
51b020:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
51b024:	75 09                	jne    0x51b02f
51b026:	57                   	push   %edi
51b027:	e8 a4 bf fd ff       	call   0x4f6fd0
51b02c:	83 c4 04             	add    $0x4,%esp
51b02f:	8b 4b 08             	mov    0x8(%ebx),%ecx
51b032:	3b ce                	cmp    %esi,%ecx
51b034:	75 0a                	jne    0x51b040
51b036:	8b 46 18             	mov    0x18(%esi),%eax
51b039:	89 43 08             	mov    %eax,0x8(%ebx)
51b03c:	eb 17                	jmp    0x51b055
51b03e:	66 90                	xchg   %ax,%ax
51b040:	8b 41 18             	mov    0x18(%ecx),%eax
51b043:	3b c6                	cmp    %esi,%eax
51b045:	74 08                	je     0x51b04f
51b047:	8b c8                	mov    %eax,%ecx
51b049:	85 c9                	test   %ecx,%ecx
51b04b:	75 f3                	jne    0x51b040
51b04d:	eb 06                	jmp    0x51b055
51b04f:	8b 46 18             	mov    0x18(%esi),%eax
51b052:	89 41 18             	mov    %eax,0x18(%ecx)
51b055:	56                   	push   %esi
51b056:	e8 a5 c8 fd ff       	call   0x4f7900
51b05b:	83 c4 04             	add    $0x4,%esp
51b05e:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
51b062:	75 32                	jne    0x51b096
51b064:	8b 43 0c             	mov    0xc(%ebx),%eax
51b067:	85 c0                	test   %eax,%eax
51b069:	74 2b                	je     0x51b096
51b06b:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
51b072:	8b 40 48             	mov    0x48(%eax),%eax
51b075:	50                   	push   %eax
51b076:	8b 58 14             	mov    0x14(%eax),%ebx
51b079:	e8 72 95 01 00       	call   0x5345f0
51b07e:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
51b084:	83 c4 04             	add    $0x4,%esp
51b087:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
51b08b:	75 09                	jne    0x51b096
51b08d:	53                   	push   %ebx
51b08e:	e8 5d 23 ff ff       	call   0x50d3f0
51b093:	83 c4 04             	add    $0x4,%esp
51b096:	ff 76 0c             	push   0xc(%esi)
51b099:	e8 f2 fc fc ff       	call   0x4ead90
51b09e:	ff 76 10             	push   0x10(%esi)
51b0a1:	e8 ea fc fc ff       	call   0x4ead90
51b0a6:	83 c4 08             	add    $0x8,%esp
51b0a9:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51b0ad:	5b                   	pop    %ebx
51b0ae:	74 0f                	je     0x51b0bf
51b0b0:	83 47 0c ff          	addl   $0xffffffff,0xc(%edi)
51b0b4:	75 09                	jne    0x51b0bf
51b0b6:	57                   	push   %edi
51b0b7:	e8 14 d9 03 00       	call   0x5589d0
51b0bc:	83 c4 04             	add    $0x4,%esp
51b0bf:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
51b0c6:	5f                   	pop    %edi
51b0c7:	33 c0                	xor    %eax,%eax
51b0c9:	5e                   	pop    %esi
51b0ca:	5d                   	pop    %ebp
51b0cb:	c3                   	ret
51b0cc:	cc                   	int3
51b0cd:	cc                   	int3
51b0ce:	cc                   	int3
51b0cf:	cc                   	int3
51b0d0:	55                   	push   %ebp
51b0d1:	8b ec                	mov    %esp,%ebp
51b0d3:	56                   	push   %esi
51b0d4:	8b 75 08             	mov    0x8(%ebp),%esi
51b0d7:	57                   	push   %edi
51b0d8:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b0dc:	74 12                	je     0x51b0f0
51b0de:	ff 46 0c             	incl   0xc(%esi)
51b0e1:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51b0e5:	75 09                	jne    0x51b0f0
51b0e7:	56                   	push   %esi
51b0e8:	e8 e3 be fd ff       	call   0x4f6fd0
51b0ed:	83 c4 04             	add    $0x4,%esp
51b0f0:	6a 00                	push   $0x0
51b0f2:	56                   	push   %esi
51b0f3:	e8 38 00 00 00       	call   0x51b130
51b0f8:	8b f8                	mov    %eax,%edi
51b0fa:	83 c4 08             	add    $0x8,%esp
51b0fd:	85 ff                	test   %edi,%edi
51b0ff:	75 0c                	jne    0x51b10d
51b101:	50                   	push   %eax
51b102:	56                   	push   %esi
51b103:	e8 c8 00 00 00       	call   0x51b1d0
51b108:	83 c4 08             	add    $0x8,%esp
51b10b:	8b f8                	mov    %eax,%edi
51b10d:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b111:	74 0f                	je     0x51b122
51b113:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51b117:	75 09                	jne    0x51b122
51b119:	56                   	push   %esi
51b11a:	e8 b1 d8 03 00       	call   0x5589d0
51b11f:	83 c4 04             	add    $0x4,%esp
51b122:	8b c7                	mov    %edi,%eax
51b124:	5f                   	pop    %edi
51b125:	5e                   	pop    %esi
51b126:	5d                   	pop    %ebp
51b127:	c3                   	ret
51b128:	cc                   	int3
51b129:	cc                   	int3
51b12a:	cc                   	int3
51b12b:	cc                   	int3
51b12c:	cc                   	int3
51b12d:	cc                   	int3
51b12e:	cc                   	int3
51b12f:	cc                   	int3
51b130:	55                   	push   %ebp
51b131:	8b ec                	mov    %esp,%ebp
51b133:	53                   	push   %ebx
51b134:	56                   	push   %esi
51b135:	8b 75 08             	mov    0x8(%ebp),%esi
51b138:	57                   	push   %edi
51b139:	33 ff                	xor    %edi,%edi
51b13b:	80 7e 08 02          	cmpb   $0x2,0x8(%esi)
51b13f:	0f 85 80 00 00 00    	jne    0x51b1c5
51b145:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b149:	8b 7e 04             	mov    0x4(%esi),%edi
51b14c:	74 12                	je     0x51b160
51b14e:	ff 46 0c             	incl   0xc(%esi)
51b151:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51b155:	75 09                	jne    0x51b160
51b157:	56                   	push   %esi
51b158:	e8 73 be fd ff       	call   0x4f6fd0
51b15d:	83 c4 04             	add    $0x4,%esp
51b160:	80 7f 11 00          	cmpb   $0x0,0x11(%edi)
51b164:	74 2b                	je     0x51b191
51b166:	57                   	push   %edi
51b167:	e8 d4 8c fd ff       	call   0x4f3e40
51b16c:	8b d8                	mov    %eax,%ebx
51b16e:	83 c4 04             	add    $0x4,%esp
51b171:	85 db                	test   %ebx,%ebx
51b173:	74 1c                	je     0x51b191
51b175:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b179:	74 0f                	je     0x51b18a
51b17b:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51b17f:	75 09                	jne    0x51b18a
51b181:	56                   	push   %esi
51b182:	e8 49 d8 03 00       	call   0x5589d0
51b187:	83 c4 04             	add    $0x4,%esp
51b18a:	5f                   	pop    %edi
51b18b:	5e                   	pop    %esi
51b18c:	8b c3                	mov    %ebx,%eax
51b18e:	5b                   	pop    %ebx
51b18f:	5d                   	pop    %ebp
51b190:	c3                   	ret
51b191:	80 7f 13 00          	cmpb   $0x0,0x13(%edi)
51b195:	74 08                	je     0x51b19f
51b197:	8b 0f                	mov    (%edi),%ecx
51b199:	8b 47 2c             	mov    0x2c(%edi),%eax
51b19c:	89 41 18             	mov    %eax,0x18(%ecx)
51b19f:	6a 00                	push   $0x0
51b1a1:	ff 75 0c             	push   0xc(%ebp)
51b1a4:	ff 37                	push   (%edi)
51b1a6:	e8 65 73 01 00       	call   0x532510
51b1ab:	83 c4 0c             	add    $0xc,%esp
51b1ae:	8b f8                	mov    %eax,%edi
51b1b0:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b1b4:	74 0f                	je     0x51b1c5
51b1b6:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51b1ba:	75 09                	jne    0x51b1c5
51b1bc:	56                   	push   %esi
51b1bd:	e8 0e d8 03 00       	call   0x5589d0
51b1c2:	83 c4 04             	add    $0x4,%esp
51b1c5:	8b c7                	mov    %edi,%eax
51b1c7:	5f                   	pop    %edi
51b1c8:	5e                   	pop    %esi
51b1c9:	5b                   	pop    %ebx
51b1ca:	5d                   	pop    %ebp
51b1cb:	c3                   	ret
51b1cc:	cc                   	int3
51b1cd:	cc                   	int3
51b1ce:	cc                   	int3
51b1cf:	cc                   	int3
51b1d0:	55                   	push   %ebp
51b1d1:	8b ec                	mov    %esp,%ebp
51b1d3:	56                   	push   %esi
51b1d4:	8b 75 08             	mov    0x8(%ebp),%esi
51b1d7:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
51b1db:	75 05                	jne    0x51b1e2
51b1dd:	33 c0                	xor    %eax,%eax
51b1df:	5e                   	pop    %esi
51b1e0:	5d                   	pop    %ebp
51b1e1:	c3                   	ret
51b1e2:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b1e6:	74 12                	je     0x51b1fa
51b1e8:	ff 46 0c             	incl   0xc(%esi)
51b1eb:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51b1ef:	75 09                	jne    0x51b1fa
51b1f1:	56                   	push   %esi
51b1f2:	e8 d9 bd fd ff       	call   0x4f6fd0
51b1f7:	83 c4 04             	add    $0x4,%esp
51b1fa:	80 7e 08 02          	cmpb   $0x2,0x8(%esi)
51b1fe:	53                   	push   %ebx
51b1ff:	57                   	push   %edi
51b200:	75 4e                	jne    0x51b250
51b202:	8b 7e 04             	mov    0x4(%esi),%edi
51b205:	ff 37                	push   (%edi)
51b207:	e8 e4 74 01 00       	call   0x5326f0
51b20c:	8b d8                	mov    %eax,%ebx
51b20e:	83 c4 04             	add    $0x4,%esp
51b211:	85 db                	test   %ebx,%ebx
51b213:	74 22                	je     0x51b237
51b215:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
51b219:	75 1c                	jne    0x51b237
51b21b:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b21f:	74 0f                	je     0x51b230
51b221:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51b225:	75 09                	jne    0x51b230
51b227:	56                   	push   %esi
51b228:	e8 a3 d7 03 00       	call   0x5589d0
51b22d:	83 c4 04             	add    $0x4,%esp
51b230:	5f                   	pop    %edi
51b231:	8b c3                	mov    %ebx,%eax
51b233:	5b                   	pop    %ebx
51b234:	5e                   	pop    %esi
51b235:	5d                   	pop    %ebp
51b236:	c3                   	ret
51b237:	ff 4e 14             	decl   0x14(%esi)
51b23a:	ff 77 3c             	push   0x3c(%edi)
51b23d:	c6 47 14 01          	movb   $0x1,0x14(%edi)
51b241:	e8 6a f4 ff ff       	call   0x51a6b0
51b246:	83 c4 04             	add    $0x4,%esp
51b249:	c7 47 3c 00 00 00 00 	movl   $0x0,0x3c(%edi)
51b250:	56                   	push   %esi
51b251:	e8 aa b8 fd ff       	call   0x4f6b00
51b256:	83 c4 04             	add    $0x4,%esp
51b259:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b25d:	74 0f                	je     0x51b26e
51b25f:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51b263:	75 09                	jne    0x51b26e
51b265:	56                   	push   %esi
51b266:	e8 65 d7 03 00       	call   0x5589d0
51b26b:	83 c4 04             	add    $0x4,%esp
51b26e:	5f                   	pop    %edi
51b26f:	5b                   	pop    %ebx
51b270:	33 c0                	xor    %eax,%eax
51b272:	5e                   	pop    %esi
51b273:	5d                   	pop    %ebp
51b274:	c3                   	ret
51b275:	cc                   	int3
51b276:	cc                   	int3
51b277:	cc                   	int3
51b278:	cc                   	int3
51b279:	cc                   	int3
51b27a:	cc                   	int3
51b27b:	cc                   	int3
51b27c:	cc                   	int3
51b27d:	cc                   	int3
51b27e:	cc                   	int3
51b27f:	cc                   	int3
51b280:	55                   	push   %ebp
51b281:	8b ec                	mov    %esp,%ebp
51b283:	83 ec 3c             	sub    $0x3c,%esp
51b286:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51b28b:	33 c5                	xor    %ebp,%eax
51b28d:	89 45 fc             	mov    %eax,-0x4(%ebp)
51b290:	53                   	push   %ebx
51b291:	56                   	push   %esi
51b292:	8b 75 08             	mov    0x8(%ebp),%esi
51b295:	57                   	push   %edi
51b296:	8b 7d 0c             	mov    0xc(%ebp),%edi
51b299:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51b29d:	74 12                	je     0x51b2b1
51b29f:	ff 46 0c             	incl   0xc(%esi)
51b2a2:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51b2a6:	75 09                	jne    0x51b2b1
51b2a8:	56                   	push   %esi
51b2a9:	e8 22 bd fd ff       	call   0x4f6fd0
51b2ae:	83 c4 04             	add    $0x4,%esp
51b2b1:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51b2b5:	74 12                	je     0x51b2c9
51b2b7:	ff 47 0c             	incl   0xc(%edi)
51b2ba:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
51b2be:	75 09                	jne    0x51b2c9
51b2c0:	57                   	push   %edi
51b2c1:	e8 0a bd fd ff       	call   0x4f6fd0
51b2c6:	83 c4 04             	add    $0x4,%esp
51b2c9:	8b 46 04             	mov    0x4(%esi),%eax
51b2cc:	8b 00                	mov    (%eax),%eax
51b2ce:	8b 58 3c             	mov    0x3c(%eax),%ebx
51b2d1:	8b 03                	mov    (%ebx),%eax
51b2d3:	85 c0                	test   %eax,%eax
51b2d5:	74 3d                	je     0x51b314
51b2d7:	8b 47 04             	mov    0x4(%edi),%eax
51b2da:	8b 48 2c             	mov    0x2c(%eax),%ecx
51b2dd:	8b 40 20             	mov    0x20(%eax),%eax
51b2e0:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
51b2e6:	99                   	cltd
51b2e7:	52                   	push   %edx
51b2e8:	50                   	push   %eax
51b2e9:	6a 00                	push   $0x0
51b2eb:	51                   	push   %ecx
51b2ec:	e8 0f 68 0c 00       	call   0x5e1b00
51b2f1:	89 45 f4             	mov    %eax,-0xc(%ebp)
51b2f4:	8d 45 f4             	lea    -0xc(%ebp),%eax
51b2f7:	50                   	push   %eax
51b2f8:	8b 03                	mov    (%ebx),%eax
51b2fa:	89 55 f8             	mov    %edx,-0x8(%ebp)
51b2fd:	6a 0b                	push   $0xb
51b2ff:	53                   	push   %ebx
51b300:	8b 40 28             	mov    0x28(%eax),%eax
51b303:	ff d0                	call   *%eax
51b305:	33 db                	xor    %ebx,%ebx
51b307:	83 c4 0c             	add    $0xc,%esp
51b30a:	83 f8 0c             	cmp    $0xc,%eax
51b30d:	0f 45 d8             	cmovne %eax,%ebx
51b310:	85 db                	test   %ebx,%ebx
51b312:	75 5d                	jne    0x51b371
51b314:	6a 30                	push   $0x30
51b316:	8d 45 c4             	lea    -0x3c(%ebp),%eax
51b319:	6a 00                	push   $0x0
51b31b:	50                   	push   %eax
51b31c:	e8 df 86 0c 00       	call   0x5e3a00
51b321:	8b 07                	mov    (%edi),%eax
51b323:	89 45 d8             	mov    %eax,-0x28(%ebp)
51b326:	8d 45 c4             	lea    -0x3c(%ebp),%eax
51b329:	68 ff ff ff 7f       	push   $0x7fffffff
51b32e:	50                   	push   %eax
51b32f:	89 7d dc             	mov    %edi,-0x24(%ebp)
51b332:	89 75 c8             	mov    %esi,-0x38(%ebp)
51b335:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
51b33c:	e8 7f 5f fd ff       	call   0x4f12c0
51b341:	8d 45 c4             	lea    -0x3c(%ebp),%eax
51b344:	50                   	push   %eax
51b345:	e8 56 67 fd ff       	call   0x4f1aa0
51b34a:	8b d8                	mov    %eax,%ebx
51b34c:	83 c4 18             	add    $0x18,%esp
51b34f:	85 db                	test   %ebx,%ebx
51b351:	75 0e                	jne    0x51b361
51b353:	8b 4e 04             	mov    0x4(%esi),%ecx
51b356:	b8 fd ff 00 00       	mov    $0xfffd,%eax
51b35b:	66 21 41 16          	and    %ax,0x16(%ecx)
51b35f:	eb 10                	jmp    0x51b371
51b361:	8b 45 c8             	mov    -0x38(%ebp),%eax
51b364:	8b 40 04             	mov    0x4(%eax),%eax
51b367:	ff 30                	push   (%eax)
51b369:	e8 f2 6e 01 00       	call   0x532260
51b36e:	83 c4 04             	add    $0x4,%esp
51b371:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
51b375:	74 0f                	je     0x51b386
51b377:	83 47 0c ff          	addl   $0xffffffff,0xc(%edi)