45fdb6:	8b 46 14             	mov    0x14(%esi),%eax
45fdb9:	8b 78 fc             	mov    -0x4(%eax),%edi
45fdbc:	85 ff                	test   %edi,%edi
45fdbe:	74 36                	je     0x45fdf6
45fdc0:	8b 5f 04             	mov    0x4(%edi),%ebx
45fdc3:	85 db                	test   %ebx,%ebx
45fdc5:	74 2f                	je     0x45fdf6
45fdc7:	ff 76 2c             	push   0x2c(%esi)
45fdca:	0f b6 46 31          	movzbl 0x31(%esi),%eax
45fdce:	50                   	push   %eax
45fdcf:	ff 76 04             	push   0x4(%esi)
45fdd2:	ff 36                	push   (%esi)
45fdd4:	e8 46 81 ff ff       	call   0x457f1f
45fdd9:	83 c4 10             	add    $0x10,%esp
45fddc:	89 5e 34             	mov    %ebx,0x34(%esi)
45fddf:	84 c0                	test   %al,%al
45fde1:	0f b7 07             	movzwl (%edi),%eax
45fde4:	74 0b                	je     0x45fdf1
45fde6:	d1 e8                	shr    $1,%eax
45fde8:	89 46 38             	mov    %eax,0x38(%esi)
45fdeb:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
45fdef:	eb 17                	jmp    0x45fe08
45fdf1:	89 46 38             	mov    %eax,0x38(%esi)
45fdf4:	eb 0e                	jmp    0x45fe04
45fdf6:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
45fdfd:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
45fe04:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
45fe08:	5f                   	pop    %edi
45fe09:	5e                   	pop    %esi
45fe0a:	b0 01                	mov    $0x1,%al
45fe0c:	5b                   	pop    %ebx
45fe0d:	c3                   	ret
45fe0e:	8b ff                	mov    %edi,%edi
45fe10:	53                   	push   %ebx
45fe11:	56                   	push   %esi
45fe12:	8b f1                	mov    %ecx,%esi
45fe14:	57                   	push   %edi
45fe15:	83 46 14 04          	addl   $0x4,0x14(%esi)
45fe19:	8b 46 14             	mov    0x14(%esi),%eax
45fe1c:	8b 78 fc             	mov    -0x4(%eax),%edi
45fe1f:	85 ff                	test   %edi,%edi
45fe21:	74 36                	je     0x45fe59
45fe23:	8b 5f 04             	mov    0x4(%edi),%ebx
45fe26:	85 db                	test   %ebx,%ebx
45fe28:	74 2f                	je     0x45fe59
45fe2a:	ff 76 2c             	push   0x2c(%esi)
45fe2d:	0f b6 46 31          	movzbl 0x31(%esi),%eax
45fe31:	50                   	push   %eax
45fe32:	ff 76 04             	push   0x4(%esi)
45fe35:	ff 36                	push   (%esi)
45fe37:	e8 e3 80 ff ff       	call   0x457f1f
45fe3c:	83 c4 10             	add    $0x10,%esp
45fe3f:	89 5e 34             	mov    %ebx,0x34(%esi)
45fe42:	84 c0                	test   %al,%al
45fe44:	0f b7 07             	movzwl (%edi),%eax
45fe47:	74 0b                	je     0x45fe54
45fe49:	d1 e8                	shr    $1,%eax
45fe4b:	89 46 38             	mov    %eax,0x38(%esi)
45fe4e:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
45fe52:	eb 17                	jmp    0x45fe6b
45fe54:	89 46 38             	mov    %eax,0x38(%esi)
45fe57:	eb 0e                	jmp    0x45fe67
45fe59:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
45fe60:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
45fe67:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
45fe6b:	5f                   	pop    %edi
45fe6c:	5e                   	pop    %esi
45fe6d:	b0 01                	mov    $0x1,%al
45fe6f:	5b                   	pop    %ebx
45fe70:	c3                   	ret
45fe71:	8b ff                	mov    %edi,%edi
45fe73:	55                   	push   %ebp
45fe74:	8b ec                	mov    %esp,%ebp
45fe76:	51                   	push   %ecx
45fe77:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45fe7b:	8d 45 fc             	lea    -0x4(%ebp),%eax
45fe7e:	56                   	push   %esi
45fe7f:	50                   	push   %eax
45fe80:	8b f1                	mov    %ecx,%esi
45fe82:	e8 36 6f ff ff       	call   0x456dbd
45fe87:	84 c0                	test   %al,%al
45fe89:	74 60                	je     0x45feeb
45fe8b:	8b ce                	mov    %esi,%ecx
45fe8d:	e8 05 c0 ff ff       	call   0x45be97
45fe92:	84 c0                	test   %al,%al
45fe94:	74 53                	je     0x45fee9
45fe96:	53                   	push   %ebx
45fe97:	57                   	push   %edi
45fe98:	8b 7d fc             	mov    -0x4(%ebp),%edi
45fe9b:	85 ff                	test   %edi,%edi
45fe9d:	74 36                	je     0x45fed5
45fe9f:	8b 5f 04             	mov    0x4(%edi),%ebx
45fea2:	85 db                	test   %ebx,%ebx
45fea4:	74 2f                	je     0x45fed5
45fea6:	ff 76 2c             	push   0x2c(%esi)
45fea9:	0f b6 46 31          	movzbl 0x31(%esi),%eax
45fead:	50                   	push   %eax
45feae:	ff 76 04             	push   0x4(%esi)
45feb1:	ff 36                	push   (%esi)
45feb3:	e8 67 80 ff ff       	call   0x457f1f
45feb8:	83 c4 10             	add    $0x10,%esp
45febb:	89 5e 34             	mov    %ebx,0x34(%esi)
45febe:	84 c0                	test   %al,%al
45fec0:	0f b7 07             	movzwl (%edi),%eax
45fec3:	74 0b                	je     0x45fed0
45fec5:	d1 e8                	shr    $1,%eax
45fec7:	89 46 38             	mov    %eax,0x38(%esi)
45feca:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
45fece:	eb 17                	jmp    0x45fee7
45fed0:	89 46 38             	mov    %eax,0x38(%esi)
45fed3:	eb 0e                	jmp    0x45fee3
45fed5:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
45fedc:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
45fee3:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
45fee7:	5f                   	pop    %edi
45fee8:	5b                   	pop    %ebx
45fee9:	b0 01                	mov    $0x1,%al
45feeb:	5e                   	pop    %esi
45feec:	8b e5                	mov    %ebp,%esp
45feee:	5d                   	pop    %ebp
45feef:	c3                   	ret
45fef0:	8b ff                	mov    %edi,%edi
45fef2:	53                   	push   %ebx
45fef3:	56                   	push   %esi
45fef4:	8b f1                	mov    %ecx,%esi
45fef6:	57                   	push   %edi
45fef7:	83 46 14 04          	addl   $0x4,0x14(%esi)
45fefb:	8b 46 14             	mov    0x14(%esi),%eax
45fefe:	8b 78 fc             	mov    -0x4(%eax),%edi
45ff01:	85 ff                	test   %edi,%edi
45ff03:	74 36                	je     0x45ff3b
45ff05:	8b 5f 04             	mov    0x4(%edi),%ebx
45ff08:	85 db                	test   %ebx,%ebx
45ff0a:	74 2f                	je     0x45ff3b
45ff0c:	ff 76 2c             	push   0x2c(%esi)
45ff0f:	0f b6 46 31          	movzbl 0x31(%esi),%eax
45ff13:	50                   	push   %eax
45ff14:	ff 76 04             	push   0x4(%esi)
45ff17:	ff 36                	push   (%esi)
45ff19:	e8 01 80 ff ff       	call   0x457f1f
45ff1e:	83 c4 10             	add    $0x10,%esp
45ff21:	89 5e 34             	mov    %ebx,0x34(%esi)
45ff24:	84 c0                	test   %al,%al
45ff26:	0f b7 07             	movzwl (%edi),%eax
45ff29:	74 0b                	je     0x45ff36
45ff2b:	d1 e8                	shr    $1,%eax
45ff2d:	89 46 38             	mov    %eax,0x38(%esi)
45ff30:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
45ff34:	eb 17                	jmp    0x45ff4d
45ff36:	89 46 38             	mov    %eax,0x38(%esi)
45ff39:	eb 0e                	jmp    0x45ff49
45ff3b:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
45ff42:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
45ff49:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
45ff4d:	5f                   	pop    %edi
45ff4e:	5e                   	pop    %esi
45ff4f:	b0 01                	mov    $0x1,%al
45ff51:	5b                   	pop    %ebx
45ff52:	c3                   	ret
45ff53:	8b ff                	mov    %edi,%edi
45ff55:	53                   	push   %ebx
45ff56:	56                   	push   %esi
45ff57:	8b f1                	mov    %ecx,%esi
45ff59:	57                   	push   %edi
45ff5a:	83 46 14 04          	addl   $0x4,0x14(%esi)
45ff5e:	8b 46 14             	mov    0x14(%esi),%eax
45ff61:	8b 78 fc             	mov    -0x4(%eax),%edi
45ff64:	85 ff                	test   %edi,%edi
45ff66:	74 36                	je     0x45ff9e
45ff68:	8b 5f 04             	mov    0x4(%edi),%ebx
45ff6b:	85 db                	test   %ebx,%ebx
45ff6d:	74 2f                	je     0x45ff9e
45ff6f:	ff 76 2c             	push   0x2c(%esi)
45ff72:	0f b7 46 32          	movzwl 0x32(%esi),%eax
45ff76:	50                   	push   %eax
45ff77:	ff 76 04             	push   0x4(%esi)
45ff7a:	ff 36                	push   (%esi)
45ff7c:	e8 de 7f ff ff       	call   0x457f5f
45ff81:	83 c4 10             	add    $0x10,%esp
45ff84:	89 5e 34             	mov    %ebx,0x34(%esi)
45ff87:	84 c0                	test   %al,%al
45ff89:	0f b7 07             	movzwl (%edi),%eax
45ff8c:	74 0b                	je     0x45ff99
45ff8e:	d1 e8                	shr    $1,%eax
45ff90:	89 46 38             	mov    %eax,0x38(%esi)
45ff93:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
45ff97:	eb 17                	jmp    0x45ffb0
45ff99:	89 46 38             	mov    %eax,0x38(%esi)
45ff9c:	eb 0e                	jmp    0x45ffac
45ff9e:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
45ffa5:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
45ffac:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
45ffb0:	5f                   	pop    %edi
45ffb1:	5e                   	pop    %esi
45ffb2:	b0 01                	mov    $0x1,%al
45ffb4:	5b                   	pop    %ebx
45ffb5:	c3                   	ret
45ffb6:	8b ff                	mov    %edi,%edi
45ffb8:	55                   	push   %ebp
45ffb9:	8b ec                	mov    %esp,%ebp
45ffbb:	51                   	push   %ecx
45ffbc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45ffc0:	8d 45 fc             	lea    -0x4(%ebp),%eax
45ffc3:	56                   	push   %esi
45ffc4:	50                   	push   %eax
45ffc5:	8b f1                	mov    %ecx,%esi
45ffc7:	e8 bd 6e ff ff       	call   0x456e89
45ffcc:	84 c0                	test   %al,%al
45ffce:	74 60                	je     0x460030
45ffd0:	8b ce                	mov    %esi,%ecx
45ffd2:	e8 d6 be ff ff       	call   0x45bead
45ffd7:	84 c0                	test   %al,%al
45ffd9:	74 53                	je     0x46002e
45ffdb:	53                   	push   %ebx
45ffdc:	57                   	push   %edi
45ffdd:	8b 7d fc             	mov    -0x4(%ebp),%edi
45ffe0:	85 ff                	test   %edi,%edi
45ffe2:	74 36                	je     0x46001a
45ffe4:	8b 5f 04             	mov    0x4(%edi),%ebx
45ffe7:	85 db                	test   %ebx,%ebx
45ffe9:	74 2f                	je     0x46001a
45ffeb:	ff 76 2c             	push   0x2c(%esi)
45ffee:	0f b7 46 32          	movzwl 0x32(%esi),%eax
45fff2:	50                   	push   %eax
45fff3:	ff 76 04             	push   0x4(%esi)
45fff6:	ff 36                	push   (%esi)
45fff8:	e8 62 7f ff ff       	call   0x457f5f
45fffd:	83 c4 10             	add    $0x10,%esp
460000:	89 5e 34             	mov    %ebx,0x34(%esi)
460003:	84 c0                	test   %al,%al
460005:	0f b7 07             	movzwl (%edi),%eax
460008:	74 0b                	je     0x460015
46000a:	d1 e8                	shr    $1,%eax
46000c:	89 46 38             	mov    %eax,0x38(%esi)
46000f:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
460013:	eb 17                	jmp    0x46002c
460015:	89 46 38             	mov    %eax,0x38(%esi)
460018:	eb 0e                	jmp    0x460028
46001a:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
460021:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
460028:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
46002c:	5f                   	pop    %edi
46002d:	5b                   	pop    %ebx
46002e:	b0 01                	mov    $0x1,%al
460030:	5e                   	pop    %esi
460031:	8b e5                	mov    %ebp,%esp
460033:	5d                   	pop    %ebp
460034:	c3                   	ret
460035:	8b ff                	mov    %edi,%edi
460037:	53                   	push   %ebx
460038:	56                   	push   %esi
460039:	8b f1                	mov    %ecx,%esi
46003b:	57                   	push   %edi
46003c:	83 46 14 04          	addl   $0x4,0x14(%esi)
460040:	8b 46 14             	mov    0x14(%esi),%eax
460043:	8b 78 fc             	mov    -0x4(%eax),%edi
460046:	85 ff                	test   %edi,%edi
460048:	74 36                	je     0x460080
46004a:	8b 5f 04             	mov    0x4(%edi),%ebx
46004d:	85 db                	test   %ebx,%ebx
46004f:	74 2f                	je     0x460080
460051:	ff 76 2c             	push   0x2c(%esi)
460054:	0f b7 46 32          	movzwl 0x32(%esi),%eax
460058:	50                   	push   %eax
460059:	ff 76 04             	push   0x4(%esi)
46005c:	ff 36                	push   (%esi)
46005e:	e8 fc 7e ff ff       	call   0x457f5f
460063:	83 c4 10             	add    $0x10,%esp
460066:	89 5e 34             	mov    %ebx,0x34(%esi)
460069:	84 c0                	test   %al,%al
46006b:	0f b7 07             	movzwl (%edi),%eax
46006e:	74 0b                	je     0x46007b
460070:	d1 e8                	shr    $1,%eax
460072:	89 46 38             	mov    %eax,0x38(%esi)
460075:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
460079:	eb 17                	jmp    0x460092
46007b:	89 46 38             	mov    %eax,0x38(%esi)
46007e:	eb 0e                	jmp    0x46008e
460080:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
460087:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
46008e:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
460092:	5f                   	pop    %edi
460093:	5e                   	pop    %esi
460094:	b0 01                	mov    $0x1,%al
460096:	5b                   	pop    %ebx
460097:	c3                   	ret
460098:	8b ff                	mov    %edi,%edi
46009a:	53                   	push   %ebx
46009b:	56                   	push   %esi
46009c:	8b f1                	mov    %ecx,%esi
46009e:	57                   	push   %edi
46009f:	83 46 14 04          	addl   $0x4,0x14(%esi)
4600a3:	8b 46 14             	mov    0x14(%esi),%eax
4600a6:	8b 78 fc             	mov    -0x4(%eax),%edi
4600a9:	85 ff                	test   %edi,%edi
4600ab:	74 36                	je     0x4600e3
4600ad:	8b 5f 04             	mov    0x4(%edi),%ebx
4600b0:	85 db                	test   %ebx,%ebx
4600b2:	74 2f                	je     0x4600e3
4600b4:	ff 76 2c             	push   0x2c(%esi)
4600b7:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4600bb:	50                   	push   %eax
4600bc:	ff 76 04             	push   0x4(%esi)
4600bf:	ff 36                	push   (%esi)
4600c1:	e8 99 7e ff ff       	call   0x457f5f
4600c6:	83 c4 10             	add    $0x10,%esp
4600c9:	89 5e 34             	mov    %ebx,0x34(%esi)
4600cc:	84 c0                	test   %al,%al
4600ce:	0f b7 07             	movzwl (%edi),%eax
4600d1:	74 0b                	je     0x4600de
4600d3:	d1 e8                	shr    $1,%eax
4600d5:	89 46 38             	mov    %eax,0x38(%esi)
4600d8:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
4600dc:	eb 17                	jmp    0x4600f5
4600de:	89 46 38             	mov    %eax,0x38(%esi)
4600e1:	eb 0e                	jmp    0x4600f1
4600e3:	c7 46 34 24 cb 49 00 	movl   $0x49cb24,0x34(%esi)
4600ea:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
4600f1:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
4600f5:	5f                   	pop    %edi
4600f6:	5e                   	pop    %esi
4600f7:	b0 01                	mov    $0x1,%al
4600f9:	5b                   	pop    %ebx
4600fa:	c3                   	ret
4600fb:	8b ff                	mov    %edi,%edi
4600fd:	55                   	push   %ebp
4600fe:	8b ec                	mov    %esp,%ebp
460100:	51                   	push   %ecx
460101:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
460105:	8d 45 fc             	lea    -0x4(%ebp),%eax
460108:	56                   	push   %esi
460109:	50                   	push   %eax
46010a:	8b f1                	mov    %ecx,%esi
46010c:	e8 44 6e ff ff       	call   0x456f55
460111:	84 c0                	test   %al,%al
460113:	74 60                	je     0x460175
460115:	8b ce                	mov    %esi,%ecx
460117:	e8 a7 bd ff ff       	call   0x45bec3
46011c:	84 c0                	test   %al,%al
46011e:	74 53                	je     0x460173
460120:	53                   	push   %ebx
460121:	57                   	push   %edi
460122:	8b 7d fc             	mov    -0x4(%ebp),%edi
460125:	85 ff                	test   %edi,%edi
460127:	74 36                	je     0x46015f
460129:	8b 5f 04             	mov    0x4(%edi),%ebx
46012c:	85 db                	test   %ebx,%ebx
46012e:	74 2f                	je     0x46015f
460130:	ff 76 2c             	push   0x2c(%esi)
460133:	0f b7 46 32          	movzwl 0x32(%esi),%eax