59fbff:	85 db                	test   %ebx,%ebx
59fc01:	7e 3f                	jle    0x59fc42
59fc03:	01 5e 04             	add    %ebx,0x4(%esi)
59fc06:	2b fb                	sub    %ebx,%edi
59fc08:	8b 5c 24 18          	mov    0x18(%esp),%ebx
59fc0c:	85 ff                	test   %edi,%edi
59fc0e:	7f d6                	jg     0x59fbe6
59fc10:	8b 44 24 1c          	mov    0x1c(%esp),%eax
59fc14:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
59fc1a:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
59fc21:	85 ed                	test   %ebp,%ebp
59fc23:	7e 3d                	jle    0x59fc62
59fc25:	8b 5c 24 18          	mov    0x18(%esp),%ebx
59fc29:	e9 74 ff ff ff       	jmp    0x59fba2
59fc2e:	ff 74 24 18          	push   0x18(%esp)
59fc32:	e8 69 28 f1 ff       	call   0x4b24a0
59fc37:	83 c4 04             	add    $0x4,%esp
59fc3a:	8b c3                	mov    %ebx,%eax
59fc3c:	5f                   	pop    %edi
59fc3d:	5e                   	pop    %esi
59fc3e:	5d                   	pop    %ebp
59fc3f:	5b                   	pop    %ebx
59fc40:	59                   	pop    %ecx
59fc41:	c3                   	ret
59fc42:	ff 74 24 18          	push   0x18(%esp)
59fc46:	e8 55 28 f1 ff       	call   0x4b24a0
59fc4b:	8b 44 24 24          	mov    0x24(%esp),%eax
59fc4f:	83 c4 04             	add    $0x4,%esp
59fc52:	3b c5                	cmp    %ebp,%eax
59fc54:	74 04                	je     0x59fc5a
59fc56:	2b c5                	sub    %ebp,%eax
59fc58:	8b d8                	mov    %eax,%ebx
59fc5a:	5f                   	pop    %edi
59fc5b:	5e                   	pop    %esi
59fc5c:	5d                   	pop    %ebp
59fc5d:	8b c3                	mov    %ebx,%eax
59fc5f:	5b                   	pop    %ebx
59fc60:	59                   	pop    %ecx
59fc61:	c3                   	ret
59fc62:	ff 74 24 18          	push   0x18(%esp)
59fc66:	e8 35 28 f1 ff       	call   0x4b24a0
59fc6b:	8b 44 24 24          	mov    0x24(%esp),%eax
59fc6f:	83 c4 04             	add    $0x4,%esp
59fc72:	5f                   	pop    %edi
59fc73:	5e                   	pop    %esi
59fc74:	5d                   	pop    %ebp
59fc75:	5b                   	pop    %ebx
59fc76:	59                   	pop    %ecx
59fc77:	c3                   	ret
59fc78:	6a 0f                	push   $0xf
59fc7a:	53                   	push   %ebx
59fc7b:	e8 10 28 f1 ff       	call   0x4b2490
59fc80:	83 c4 08             	add    $0x8,%esp
59fc83:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
59fc8a:	5f                   	pop    %edi
59fc8b:	5e                   	pop    %esi
59fc8c:	5d                   	pop    %ebp
59fc8d:	33 c0                	xor    %eax,%eax
59fc8f:	5b                   	pop    %ebx
59fc90:	59                   	pop    %ecx
59fc91:	c3                   	ret
59fc92:	cc                   	int3
59fc93:	cc                   	int3
59fc94:	cc                   	int3
59fc95:	cc                   	int3
59fc96:	cc                   	int3
59fc97:	cc                   	int3
59fc98:	cc                   	int3
59fc99:	cc                   	int3
59fc9a:	cc                   	int3
59fc9b:	cc                   	int3
59fc9c:	cc                   	int3
59fc9d:	cc                   	int3
59fc9e:	cc                   	int3
59fc9f:	cc                   	int3
59fca0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
59fca4:	53                   	push   %ebx
59fca5:	33 db                	xor    %ebx,%ebx
59fca7:	85 c9                	test   %ecx,%ecx
59fca9:	75 04                	jne    0x59fcaf
59fcab:	33 c0                	xor    %eax,%eax
59fcad:	5b                   	pop    %ebx
59fcae:	c3                   	ret
59fcaf:	8b 44 24 08          	mov    0x8(%esp),%eax
59fcb3:	56                   	push   %esi
59fcb4:	8b 70 20             	mov    0x20(%eax),%esi
59fcb7:	85 f6                	test   %esi,%esi
59fcb9:	0f 84 6c 01 00 00    	je     0x59fe2b
59fcbf:	39 58 24             	cmp    %ebx,0x24(%eax)
59fcc2:	0f 84 63 01 00 00    	je     0x59fe2b
59fcc8:	8b 16                	mov    (%esi),%edx
59fcca:	55                   	push   %ebp
59fccb:	8b 6c 24 18          	mov    0x18(%esp),%ebp
59fccf:	85 d2                	test   %edx,%edx
59fcd1:	7e 40                	jle    0x59fd13
59fcd3:	8b 46 04             	mov    0x4(%esi),%eax
59fcd6:	8b da                	mov    %edx,%ebx
59fcd8:	2b 5e 04             	sub    0x4(%esi),%ebx
59fcdb:	3b dd                	cmp    %ebp,%ebx
59fcdd:	0f 4f dd             	cmovg  %ebp,%ebx
59fce0:	05 a0 00 00 00       	add    $0xa0,%eax
59fce5:	53                   	push   %ebx
59fce6:	03 c6                	add    %esi,%eax
59fce8:	50                   	push   %eax
59fce9:	51                   	push   %ecx
59fcea:	e8 11 32 04 00       	call   0x5e2f00
59fcef:	01 5e 04             	add    %ebx,0x4(%esi)
59fcf2:	83 c4 0c             	add    $0xc,%esp
59fcf5:	8b 46 04             	mov    0x4(%esi),%eax
59fcf8:	2b eb                	sub    %ebx,%ebp
59fcfa:	01 5c 24 14          	add    %ebx,0x14(%esp)
59fcfe:	39 06                	cmp    %eax,(%esi)
59fd00:	8b 44 24 10          	mov    0x10(%esp),%eax
59fd04:	75 0d                	jne    0x59fd13
59fd06:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
59fd0c:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
59fd13:	57                   	push   %edi
59fd14:	85 ed                	test   %ebp,%ebp
59fd16:	0f 8e cf 00 00 00    	jle    0x59fdeb
59fd1c:	0f 1f 40 00          	nopl   0x0(%eax)
59fd20:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
59fd24:	0f 8e c1 00 00 00    	jle    0x59fdeb
59fd2a:	8d 8e e0 00 00 00    	lea    0xe0(%esi),%ecx
59fd30:	68 00 10 00 00       	push   $0x1000
59fd35:	51                   	push   %ecx
59fd36:	ff 70 24             	push   0x24(%eax)
59fd39:	e8 82 2c f1 ff       	call   0x4b29c0
59fd3e:	8b f8                	mov    %eax,%edi
59fd40:	83 c4 0c             	add    $0xc,%esp
59fd43:	85 ff                	test   %edi,%edi
59fd45:	7f 3c                	jg     0x59fd83
59fd47:	8b 44 24 14          	mov    0x14(%esp),%eax
59fd4b:	6a 08                	push   $0x8
59fd4d:	ff 70 24             	push   0x24(%eax)
59fd50:	e8 eb 2d f1 ff       	call   0x4b2b40
59fd55:	83 c4 08             	add    $0x8,%esp
59fd58:	85 c0                	test   %eax,%eax
59fd5a:	0f 85 86 00 00 00    	jne    0x59fde6
59fd60:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
59fd66:	89 7e 08             	mov    %edi,0x8(%esi)
59fd69:	56                   	push   %esi
59fd6a:	50                   	push   %eax
59fd6b:	8d 46 14             	lea    0x14(%esi),%eax
59fd6e:	50                   	push   %eax
59fd6f:	e8 cc f4 ee ff       	call   0x48f240
59fd74:	83 c4 0c             	add    $0xc,%esp
59fd77:	89 46 10             	mov    %eax,0x10(%esi)
59fd7a:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
59fd81:	eb 2c                	jmp    0x59fdaf
59fd83:	57                   	push   %edi
59fd84:	8d 8e e0 00 00 00    	lea    0xe0(%esi),%ecx
59fd8a:	51                   	push   %ecx
59fd8b:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
59fd91:	56                   	push   %esi
59fd92:	50                   	push   %eax
59fd93:	8d 46 14             	lea    0x14(%esi),%eax
59fd96:	50                   	push   %eax
59fd97:	e8 a4 f7 ee ff       	call   0x48f540
59fd9c:	83 c4 14             	add    $0x14,%esp
59fd9f:	85 c0                	test   %eax,%eax
59fda1:	74 6b                	je     0x59fe0e
59fda3:	83 3e 00             	cmpl   $0x0,(%esi)
59fda6:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
59fdad:	74 2a                	je     0x59fdd9
59fdaf:	39 2e                	cmp    %ebp,(%esi)
59fdb1:	8b fd                	mov    %ebp,%edi
59fdb3:	0f 4e 3e             	cmovle (%esi),%edi
59fdb6:	85 ff                	test   %edi,%edi
59fdb8:	7e 31                	jle    0x59fdeb
59fdba:	57                   	push   %edi
59fdbb:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
59fdc1:	50                   	push   %eax
59fdc2:	ff 74 24 20          	push   0x20(%esp)
59fdc6:	e8 35 31 04 00       	call   0x5e2f00
59fdcb:	83 c4 0c             	add    $0xc,%esp
59fdce:	89 7e 04             	mov    %edi,0x4(%esi)
59fdd1:	03 df                	add    %edi,%ebx
59fdd3:	2b ef                	sub    %edi,%ebp
59fdd5:	01 7c 24 18          	add    %edi,0x18(%esp)
59fdd9:	85 ed                	test   %ebp,%ebp
59fddb:	7e 0e                	jle    0x59fdeb
59fddd:	8b 44 24 14          	mov    0x14(%esp),%eax
59fde1:	e9 3a ff ff ff       	jmp    0x59fd20
59fde6:	85 db                	test   %ebx,%ebx
59fde8:	0f 44 df             	cmove  %edi,%ebx
59fdeb:	8b 6c 24 14          	mov    0x14(%esp),%ebp
59fdef:	6a 0f                	push   $0xf
59fdf1:	55                   	push   %ebp
59fdf2:	e8 99 26 f1 ff       	call   0x4b2490
59fdf7:	55                   	push   %ebp
59fdf8:	e8 a3 26 f1 ff       	call   0x4b24a0
59fdfd:	83 c4 0c             	add    $0xc,%esp
59fe00:	85 db                	test   %ebx,%ebx
59fe02:	75 03                	jne    0x59fe07
59fe04:	8b 5e 08             	mov    0x8(%esi),%ebx
59fe07:	5f                   	pop    %edi
59fe08:	5d                   	pop    %ebp
59fe09:	5e                   	pop    %esi
59fe0a:	8b c3                	mov    %ebx,%eax
59fe0c:	5b                   	pop    %ebx
59fe0d:	c3                   	ret
59fe0e:	8b 44 24 14          	mov    0x14(%esp),%eax
59fe12:	6a 0f                	push   $0xf
59fe14:	50                   	push   %eax
59fe15:	e8 76 26 f1 ff       	call   0x4b2490
59fe1a:	83 c4 08             	add    $0x8,%esp
59fe1d:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
59fe24:	33 c0                	xor    %eax,%eax
59fe26:	5f                   	pop    %edi
59fe27:	5d                   	pop    %ebp
59fe28:	5e                   	pop    %esi
59fe29:	5b                   	pop    %ebx
59fe2a:	c3                   	ret
59fe2b:	5e                   	pop    %esi
59fe2c:	33 c0                	xor    %eax,%eax
59fe2e:	5b                   	pop    %ebx
59fe2f:	c3                   	ret
59fe30:	53                   	push   %ebx
59fe31:	8b 5c 24 08          	mov    0x8(%esp),%ebx
59fe35:	55                   	push   %ebp
59fe36:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59fe3a:	56                   	push   %esi
59fe3b:	8b 73 20             	mov    0x20(%ebx),%esi
59fe3e:	57                   	push   %edi
59fe3f:	8d 45 ff             	lea    -0x1(%ebp),%eax
59fe42:	bf 01 00 00 00       	mov    $0x1,%edi
59fe47:	3d 80 00 00 00       	cmp    $0x80,%eax
59fe4c:	77 4d                	ja     0x59fe9b
59fe4e:	0f b6 80 c0 ff 59 00 	movzbl 0x59ffc0(%eax),%eax
59fe55:	ff 24 85 9c ff 59 00 	jmp    *0x59ff9c(,%eax,4)
59fe5c:	ff 76 1c             	push   0x1c(%esi)
59fe5f:	89 7e 10             	mov    %edi,0x10(%esi)
59fe62:	6a 00                	push   $0x0
59fe64:	6a 00                	push   $0x0
59fe66:	6a 00                	push   $0x0
59fe68:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
59fe6f:	83 c6 14             	add    $0x14,%esi
59fe72:	6a 00                	push   $0x0
59fe74:	56                   	push   %esi
59fe75:	e8 e6 f3 ee ff       	call   0x48f260
59fe7a:	ff 74 24 38          	push   0x38(%esp)
59fe7e:	ff 74 24 38          	push   0x38(%esp)
59fe82:	55                   	push   %ebp
59fe83:	ff 73 24             	push   0x24(%ebx)
59fe86:	e8 35 26 f1 ff       	call   0x4b24c0
59fe8b:	83 c4 28             	add    $0x28,%esp
59fe8e:	8b f8                	mov    %eax,%edi
59fe90:	5f                   	pop    %edi
59fe91:	5e                   	pop    %esi
59fe92:	5d                   	pop    %ebp
59fe93:	5b                   	pop    %ebx
59fe94:	c3                   	ret
59fe95:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
59fe99:	7e 16                	jle    0x59feb1
59fe9b:	ff 74 24 20          	push   0x20(%esp)
59fe9f:	ff 74 24 20          	push   0x20(%esp)
59fea3:	55                   	push   %ebp
59fea4:	ff 73 24             	push   0x24(%ebx)
59fea7:	e8 14 26 f1 ff       	call   0x4b24c0
59feac:	83 c4 10             	add    $0x10,%esp
59feaf:	8b f8                	mov    %eax,%edi
59feb1:	8b c7                	mov    %edi,%eax
59feb3:	5f                   	pop    %edi
59feb4:	5e                   	pop    %esi
59feb5:	5d                   	pop    %ebp
59feb6:	5b                   	pop    %ebx
59feb7:	c3                   	ret
59feb8:	8b 3e                	mov    (%esi),%edi
59feba:	2b 7e 04             	sub    0x4(%esi),%edi
59febd:	85 ff                	test   %edi,%edi
59febf:	7f f0                	jg     0x59feb1
59fec1:	eb d8                	jmp    0x59fe9b
59fec3:	8b 06                	mov    (%esi),%eax
59fec5:	3b 46 04             	cmp    0x4(%esi),%eax
59fec8:	74 1e                	je     0x59fee8
59feca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
59fed0:	6a 00                	push   $0x0
59fed2:	6a 00                	push   $0x0
59fed4:	53                   	push   %ebx
59fed5:	e8 46 fc ff ff       	call   0x59fb20
59feda:	83 c4 0c             	add    $0xc,%esp
59fedd:	85 c0                	test   %eax,%eax
59fedf:	78 d2                	js     0x59feb3
59fee1:	8b 06                	mov    (%esi),%eax
59fee3:	3b 46 04             	cmp    0x4(%esi),%eax
59fee6:	75 e8                	jne    0x59fed0
59fee8:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
59feec:	75 ad                	jne    0x59fe9b
59feee:	56                   	push   %esi
59feef:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
59fef5:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
59fefc:	50                   	push   %eax
59fefd:	8d 46 14             	lea    0x14(%esi),%eax
59ff00:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
59ff07:	50                   	push   %eax
59ff08:	e8 33 f3 ee ff       	call   0x48f240
59ff0d:	8b f8                	mov    %eax,%edi
59ff0f:	83 c4 0c             	add    $0xc,%esp
59ff12:	89 7e 10             	mov    %edi,0x10(%esi)
59ff15:	85 ff                	test   %edi,%edi
59ff17:	7f aa                	jg     0x59fec3
59ff19:	5f                   	pop    %edi
59ff1a:	5e                   	pop    %esi
59ff1b:	5d                   	pop    %ebp
59ff1c:	5b                   	pop    %ebx
59ff1d:	c3                   	ret
59ff1e:	8b 7e 10             	mov    0x10(%esi),%edi
59ff21:	8b c7                	mov    %edi,%eax
59ff23:	5f                   	pop    %edi
59ff24:	5e                   	pop    %esi
59ff25:	5d                   	pop    %ebp
59ff26:	5b                   	pop    %ebx
59ff27:	c3                   	ret
59ff28:	6a 0f                	push   $0xf
59ff2a:	53                   	push   %ebx
59ff2b:	e8 60 25 f1 ff       	call   0x4b2490
59ff30:	ff 74 24 28          	push   0x28(%esp)
59ff34:	ff 74 24 28          	push   0x28(%esp)
59ff38:	55                   	push   %ebp
59ff39:	ff 73 24             	push   0x24(%ebx)
59ff3c:	e8 7f 25 f1 ff       	call   0x4b24c0
59ff41:	53                   	push   %ebx
59ff42:	8b f8                	mov    %eax,%edi
59ff44:	e8 57 25 f1 ff       	call   0x4b24a0
59ff49:	83 c4 1c             	add    $0x1c,%esp
59ff4c:	8b c7                	mov    %edi,%eax
59ff4e:	5f                   	pop    %edi
59ff4f:	5e                   	pop    %esi
59ff50:	5d                   	pop    %ebp
59ff51:	5b                   	pop    %ebx
59ff52:	c3                   	ret
59ff53:	8b 44 24 20          	mov    0x20(%esp),%eax
59ff57:	83 c6 14             	add    $0x14,%esi
59ff5a:	89 30                	mov    %esi,(%eax)
59ff5c:	8b c7                	mov    %edi,%eax
59ff5e:	89 7b 0c             	mov    %edi,0xc(%ebx)
59ff61:	5f                   	pop    %edi
59ff62:	5e                   	pop    %esi
59ff63:	5d                   	pop    %ebp
59ff64:	5b                   	pop    %ebx
59ff65:	c3                   	ret
59ff66:	8b 5c 24 20          	mov    0x20(%esp),%ebx
59ff6a:	8b 7b 20             	mov    0x20(%ebx),%edi
59ff6d:	83 c7 14             	add    $0x14,%edi
59ff70:	57                   	push   %edi
59ff71:	e8 aa f1 ee ff       	call   0x48f120
59ff76:	83 c6 14             	add    $0x14,%esi
59ff79:	56                   	push   %esi
59ff7a:	57                   	push   %edi
59ff7b:	e8 d0 ef ee ff       	call   0x48ef50