595e19:	8b c2                	mov    %edx,%eax
595e1b:	c1 e8 18             	shr    $0x18,%eax
595e1e:	24 03                	and    $0x3,%al
595e20:	0c f8                	or     $0xf8,%al
595e22:	88 01                	mov    %al,(%ecx)
595e24:	8b c2                	mov    %edx,%eax
595e26:	c1 e8 12             	shr    $0x12,%eax
595e29:	24 3f                	and    $0x3f,%al
595e2b:	0c 80                	or     $0x80,%al
595e2d:	88 41 01             	mov    %al,0x1(%ecx)
595e30:	8b c2                	mov    %edx,%eax
595e32:	c1 e8 0c             	shr    $0xc,%eax
595e35:	24 3f                	and    $0x3f,%al
595e37:	0c 80                	or     $0x80,%al
595e39:	88 41 02             	mov    %al,0x2(%ecx)
595e3c:	8b c2                	mov    %edx,%eax
595e3e:	c1 e8 06             	shr    $0x6,%eax
595e41:	80 e2 3f             	and    $0x3f,%dl
595e44:	24 3f                	and    $0x3f,%al
595e46:	0c 80                	or     $0x80,%al
595e48:	80 ca 80             	or     $0x80,%dl
595e4b:	88 41 03             	mov    %al,0x3(%ecx)
595e4e:	88 51 04             	mov    %dl,0x4(%ecx)
595e51:	b8 05 00 00 00       	mov    $0x5,%eax
595e56:	c3                   	ret
595e57:	83 f8 06             	cmp    $0x6,%eax
595e5a:	0f 8c fb fe ff ff    	jl     0x595d5b
595e60:	85 c9                	test   %ecx,%ecx
595e62:	74 44                	je     0x595ea8
595e64:	8b c2                	mov    %edx,%eax
595e66:	c1 e8 1e             	shr    $0x1e,%eax
595e69:	24 01                	and    $0x1,%al
595e6b:	0c fc                	or     $0xfc,%al
595e6d:	88 01                	mov    %al,(%ecx)
595e6f:	8b c2                	mov    %edx,%eax
595e71:	c1 e8 18             	shr    $0x18,%eax
595e74:	24 3f                	and    $0x3f,%al
595e76:	0c 80                	or     $0x80,%al
595e78:	88 41 01             	mov    %al,0x1(%ecx)
595e7b:	8b c2                	mov    %edx,%eax
595e7d:	c1 e8 12             	shr    $0x12,%eax
595e80:	24 3f                	and    $0x3f,%al
595e82:	0c 80                	or     $0x80,%al
595e84:	88 41 02             	mov    %al,0x2(%ecx)
595e87:	8b c2                	mov    %edx,%eax
595e89:	c1 e8 0c             	shr    $0xc,%eax
595e8c:	24 3f                	and    $0x3f,%al
595e8e:	0c 80                	or     $0x80,%al
595e90:	88 41 03             	mov    %al,0x3(%ecx)
595e93:	8b c2                	mov    %edx,%eax
595e95:	c1 e8 06             	shr    $0x6,%eax
595e98:	80 e2 3f             	and    $0x3f,%dl
595e9b:	24 3f                	and    $0x3f,%al
595e9d:	0c 80                	or     $0x80,%al
595e9f:	80 ca 80             	or     $0x80,%dl
595ea2:	88 41 04             	mov    %al,0x4(%ecx)
595ea5:	88 51 05             	mov    %dl,0x5(%ecx)
595ea8:	b8 06 00 00 00       	mov    $0x6,%eax
595ead:	c3                   	ret
595eae:	cc                   	int3
595eaf:	cc                   	int3
595eb0:	8b 44 24 04          	mov    0x4(%esp),%eax
595eb4:	3d 02 01 00 00       	cmp    $0x102,%eax
595eb9:	74 07                	je     0x595ec2
595ebb:	3d 0a 01 00 00       	cmp    $0x10a,%eax
595ec0:	75 05                	jne    0x595ec7
595ec2:	25 ff fe ff ff       	and    $0xfffffeff,%eax
595ec7:	83 f8 1e             	cmp    $0x1e,%eax
595eca:	77 08                	ja     0x595ed4
595ecc:	8b 04 85 b0 85 6c 00 	mov    0x6c85b0(,%eax,4),%eax
595ed3:	c3                   	ret
595ed4:	b8 94 87 6c 00       	mov    $0x6c8794,%eax
595ed9:	c3                   	ret
595eda:	cc                   	int3
595edb:	cc                   	int3
595edc:	cc                   	int3
595edd:	cc                   	int3
595ede:	cc                   	int3
595edf:	cc                   	int3
595ee0:	6a 00                	push   $0x0
595ee2:	6a 00                	push   $0x0
595ee4:	ff 74 24 1c          	push   0x1c(%esp)
595ee8:	ff 74 24 1c          	push   0x1c(%esp)
595eec:	ff 74 24 1c          	push   0x1c(%esp)
595ef0:	ff 74 24 1c          	push   0x1c(%esp)
595ef4:	ff 74 24 1c          	push   0x1c(%esp)
595ef8:	e8 13 00 00 00       	call   0x595f10
595efd:	83 c4 1c             	add    $0x1c,%esp
595f00:	c3                   	ret
595f01:	cc                   	int3
595f02:	cc                   	int3
595f03:	cc                   	int3
595f04:	cc                   	int3
595f05:	cc                   	int3
595f06:	cc                   	int3
595f07:	cc                   	int3
595f08:	cc                   	int3
595f09:	cc                   	int3
595f0a:	cc                   	int3
595f0b:	cc                   	int3
595f0c:	cc                   	int3
595f0d:	cc                   	int3
595f0e:	cc                   	int3
595f0f:	cc                   	int3
595f10:	b8 40 00 00 00       	mov    $0x40,%eax
595f15:	e8 d6 b5 04 00       	call   0x5e14f0
595f1a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
595f1f:	33 c4                	xor    %esp,%eax
595f21:	89 44 24 3c          	mov    %eax,0x3c(%esp)
595f25:	8b 54 24 48          	mov    0x48(%esp),%edx
595f29:	53                   	push   %ebx
595f2a:	8b 5c 24 50          	mov    0x50(%esp),%ebx
595f2e:	89 54 24 08          	mov    %edx,0x8(%esp)
595f32:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
595f39:	00
595f3a:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
595f41:	00
595f42:	55                   	push   %ebp
595f43:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
595f47:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
595f4b:	56                   	push   %esi
595f4c:	57                   	push   %edi
595f4d:	83 fb ff             	cmp    $0xffffffff,%ebx
595f50:	75 0e                	jne    0x595f60
595f52:	8b da                	mov    %edx,%ebx
595f54:	8d 4b 01             	lea    0x1(%ebx),%ecx
595f57:	8a 03                	mov    (%ebx),%al
595f59:	43                   	inc    %ebx
595f5a:	84 c0                	test   %al,%al
595f5c:	75 f9                	jne    0x595f57
595f5e:	2b d9                	sub    %ecx,%ebx
595f60:	8b 44 24 64          	mov    0x64(%esp),%eax
595f64:	b9 06 28 00 00       	mov    $0x2806,%ecx
595f69:	85 c0                	test   %eax,%eax
595f6b:	0f 44 c1             	cmove  %ecx,%eax
595f6e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
595f72:	89 44 24 64          	mov    %eax,0x64(%esp)
595f76:	8d 81 00 f0 ff ff    	lea    -0x1000(%ecx),%eax
595f7c:	83 f8 04             	cmp    $0x4,%eax
595f7f:	0f 87 53 03 00 00    	ja     0x5962d8
595f85:	ff 24 85 0c 63 59 00 	jmp    *0x59630c(,%eax,4)
595f8c:	f6 c3 01             	test   $0x1,%bl
595f8f:	74 11                	je     0x595fa2
595f91:	6a 74                	push   $0x74
595f93:	68 a0 87 6c 00       	push   $0x6c87a0
595f98:	68 81 00 00 00       	push   $0x81
595f9d:	e9 45 03 00 00       	jmp    0x5962e7
595fa2:	8b f3                	mov    %ebx,%esi
595fa4:	d1 fe                	sar    $1,%esi
595fa6:	eb 59                	jmp    0x596001
595fa8:	f6 c3 03             	test   $0x3,%bl
595fab:	74 11                	je     0x595fbe
595fad:	6a 7d                	push   $0x7d
595faf:	68 a0 87 6c 00       	push   $0x6c87a0
595fb4:	68 85 00 00 00       	push   $0x85
595fb9:	e9 29 03 00 00       	jmp    0x5962e7
595fbe:	8b f3                	mov    %ebx,%esi
595fc0:	c1 fe 02             	sar    $0x2,%esi
595fc3:	eb 3c                	jmp    0x596001
595fc5:	33 f6                	xor    %esi,%esi
595fc7:	8b fb                	mov    %ebx,%edi
595fc9:	8b ea                	mov    %edx,%ebp
595fcb:	85 db                	test   %ebx,%ebx
595fcd:	74 2e                	je     0x595ffd
595fcf:	90                   	nop
595fd0:	8d 44 24 20          	lea    0x20(%esp),%eax
595fd4:	50                   	push   %eax
595fd5:	57                   	push   %edi
595fd6:	55                   	push   %ebp
595fd7:	e8 94 fa ff ff       	call   0x595a70
595fdc:	83 c4 0c             	add    $0xc,%esp
595fdf:	85 c0                	test   %eax,%eax
595fe1:	78 6d                	js     0x596050
595fe3:	2b f8                	sub    %eax,%edi
595fe5:	03 e8                	add    %eax,%ebp
595fe7:	b8 e0 63 59 00       	mov    $0x5963e0,%eax
595fec:	85 c0                	test   %eax,%eax
595fee:	74 01                	je     0x595ff1
595ff0:	46                   	inc    %esi
595ff1:	85 ff                	test   %edi,%edi
595ff3:	75 db                	jne    0x595fd0
595ff5:	8b 54 24 14          	mov    0x14(%esp),%edx
595ff9:	8b 4c 24 60          	mov    0x60(%esp),%ecx
595ffd:	8b 6c 24 24          	mov    0x24(%esp),%ebp
596001:	8b 7c 24 68          	mov    0x68(%esp),%edi
596005:	85 ff                	test   %edi,%edi
596007:	7e 5f                	jle    0x596068
596009:	3b f7                	cmp    %edi,%esi
59600b:	7d 5b                	jge    0x596068
59600d:	68 97 00 00 00       	push   $0x97
596012:	68 a0 87 6c 00       	push   $0x6c87a0
596017:	68 98 00 00 00       	push   $0x98
59601c:	6a 7a                	push   $0x7a
59601e:	6a 0d                	push   $0xd
596020:	e8 7b b4 f0 ff       	call   0x4a14a0
596025:	57                   	push   %edi
596026:	68 b8 87 6c 00       	push   $0x6c87b8
59602b:	8d 44 24 48          	lea    0x48(%esp),%eax
59602f:	6a 20                	push   $0x20
596031:	50                   	push   %eax
596032:	e8 b9 8e f1 ff       	call   0x4aeef0
596037:	8d 44 24 50          	lea    0x50(%esp),%eax
59603b:	50                   	push   %eax
59603c:	68 bc 87 6c 00       	push   $0x6c87bc
596041:	6a 02                	push   $0x2
596043:	e8 78 af f0 ff       	call   0x4a0fc0
596048:	83 c4 30             	add    $0x30,%esp
59604b:	e9 a3 02 00 00       	jmp    0x5962f3
596050:	68 88 00 00 00       	push   $0x88
596055:	68 a0 87 6c 00       	push   $0x6c87a0
59605a:	68 86 00 00 00       	push   $0x86
59605f:	e9 83 02 00 00       	jmp    0x5962e7
596064:	8b f3                	mov    %ebx,%esi
596066:	eb 99                	jmp    0x596001
596068:	8b 7c 24 6c          	mov    0x6c(%esp),%edi
59606c:	85 ff                	test   %edi,%edi
59606e:	7e 47                	jle    0x5960b7
596070:	3b f7                	cmp    %edi,%esi
596072:	7e 43                	jle    0x5960b7
596074:	68 9e 00 00 00       	push   $0x9e
596079:	68 a0 87 6c 00       	push   $0x6c87a0
59607e:	68 97 00 00 00       	push   $0x97
596083:	6a 7a                	push   $0x7a
596085:	6a 0d                	push   $0xd
596087:	e8 14 b4 f0 ff       	call   0x4a14a0
59608c:	57                   	push   %edi
59608d:	68 b8 87 6c 00       	push   $0x6c87b8
596092:	8d 44 24 48          	lea    0x48(%esp),%eax
596096:	6a 20                	push   $0x20
596098:	50                   	push   %eax
596099:	e8 52 8e f1 ff       	call   0x4aeef0
59609e:	8d 44 24 50          	lea    0x50(%esp),%eax
5960a2:	50                   	push   %eax
5960a3:	68 c8 87 6c 00       	push   $0x6c87c8
5960a8:	6a 02                	push   $0x2
5960aa:	e8 11 af f0 ff       	call   0x4a0fc0
5960af:	83 c4 30             	add    $0x30,%esp
5960b2:	e9 3c 02 00 00       	jmp    0x5962f3
5960b7:	8d 44 24 64          	lea    0x64(%esp),%eax
5960bb:	50                   	push   %eax
5960bc:	68 f0 64 59 00       	push   $0x5964f0
5960c1:	51                   	push   %ecx
5960c2:	53                   	push   %ebx
5960c3:	52                   	push   %edx
5960c4:	e8 47 03 00 00       	call   0x596410
5960c9:	83 c4 14             	add    $0x14,%esp
5960cc:	85 c0                	test   %eax,%eax
5960ce:	79 11                	jns    0x5960e1
5960d0:	68 a6 00 00 00       	push   $0xa6
5960d5:	68 a0 87 6c 00       	push   $0x6c87a0
5960da:	6a 7c                	push   $0x7c
5960dc:	e9 06 02 00 00       	jmp    0x5962e7
5960e1:	8b 44 24 64          	mov    0x64(%esp),%eax
5960e5:	c7 44 24 20 01 10 00 	movl   $0x1001,0x20(%esp)
5960ec:	00
5960ed:	a8 02                	test   $0x2,%al
5960ef:	74 07                	je     0x5960f8
5960f1:	bf 13 00 00 00       	mov    $0x13,%edi
5960f6:	eb 4f                	jmp    0x596147
5960f8:	a8 10                	test   $0x10,%al
5960fa:	74 07                	je     0x596103
5960fc:	bf 16 00 00 00       	mov    $0x16,%edi
596101:	eb 44                	jmp    0x596147
596103:	a8 04                	test   $0x4,%al
596105:	74 07                	je     0x59610e
596107:	bf 14 00 00 00       	mov    $0x14,%edi
59610c:	eb 39                	jmp    0x596147
59610e:	a9 00 08 00 00       	test   $0x800,%eax
596113:	74 0f                	je     0x596124
596115:	bf 1e 00 00 00       	mov    $0x1e,%edi
59611a:	c7 44 24 20 02 10 00 	movl   $0x1002,0x20(%esp)
596121:	00
596122:	eb 23                	jmp    0x596147
596124:	a9 00 01 00 00       	test   $0x100,%eax
596129:	74 0f                	je     0x59613a
59612b:	bf 1c 00 00 00       	mov    $0x1c,%edi
596130:	c7 44 24 20 04 10 00 	movl   $0x1004,0x20(%esp)
596137:	00
596138:	eb 0d                	jmp    0x596147
59613a:	bf 0c 00 00 00       	mov    $0xc,%edi
59613f:	c7 44 24 20 00 10 00 	movl   $0x1000,0x20(%esp)
596146:	00
596147:	85 ed                	test   %ebp,%ebp
596149:	0f 84 74 01 00 00    	je     0x5962c3
59614f:	8b 6d 00             	mov    0x0(%ebp),%ebp
596152:	85 ed                	test   %ebp,%ebp
596154:	74 28                	je     0x59617e
596156:	8b 45 08             	mov    0x8(%ebp),%eax
596159:	c6 44 24 13 00       	movb   $0x0,0x13(%esp)
59615e:	85 c0                	test   %eax,%eax
596160:	74 17                	je     0x596179
596162:	50                   	push   %eax
596163:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
59616a:	e8 c1 9f f0 ff       	call   0x4a0130
59616f:	83 c4 04             	add    $0x4,%esp
596172:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
596179:	89 7d 04             	mov    %edi,0x4(%ebp)
59617c:	eb 2b                	jmp    0x5961a9
59617e:	57                   	push   %edi
59617f:	c6 44 24 17 01       	movb   $0x1,0x17(%esp)
596184:	e8 77 b9 f1 ff       	call   0x4b1b00
596189:	8b e8                	mov    %eax,%ebp
59618b:	83 c4 04             	add    $0x4,%esp
59618e:	85 ed                	test   %ebp,%ebp
596190:	75 11                	jne    0x5961a3
596192:	68 cb 00 00 00       	push   $0xcb
596197:	68 a0 87 6c 00       	push   $0x6c87a0
59619c:	6a 41                	push   $0x41
59619e:	e9 44 01 00 00       	jmp    0x5962e7
5961a3:	8b 44 24 24          	mov    0x24(%esp),%eax
5961a7:	89 28                	mov    %ebp,(%eax)
5961a9:	8b 44 24 20          	mov    0x20(%esp),%eax
5961ad:	8b 4c 24 60          	mov    0x60(%esp),%ecx
5961b1:	3b c8                	cmp    %eax,%ecx
5961b3:	75 28                	jne    0x5961dd
5961b5:	8b 74 24 14          	mov    0x14(%esp),%esi
5961b9:	53                   	push   %ebx
5961ba:	56                   	push   %esi
5961bb:	55                   	push   %ebp
5961bc:	e8 4f b8 f1 ff       	call   0x4b1a10
5961c1:	83 c4 0c             	add    $0xc,%esp
5961c4:	85 c0                	test   %eax,%eax
5961c6:	0f 85 f7 00 00 00    	jne    0x5962c3
5961cc:	68 d3 00 00 00       	push   $0xd3
5961d1:	68 a0 87 6c 00       	push   $0x6c87a0
5961d6:	6a 41                	push   $0x41
5961d8:	e9 0a 01 00 00       	jmp    0x5962e7
5961dd:	05 00 f0 ff ff       	add    $0xfffff000,%eax
5961e2:	83 f8 04             	cmp    $0x4,%eax
5961e5:	77 13                	ja     0x5961fa
5961e7:	ff 24 85 20 63 59 00 	jmp    *0x596320(,%eax,4)
5961ee:	89 74 24 18          	mov    %esi,0x18(%esp)
5961f2:	c7 44 24 1c 40 63 59 	movl   $0x596340,0x1c(%esp)
5961f9:	00
5961fa:	8b 74 24 14          	mov    0x14(%esp),%esi
5961fe:	8b 44 24 18          	mov    0x18(%esp),%eax
596202:	68 f0 00 00 00       	push   $0xf0
596207:	40                   	inc    %eax
596208:	68 a0 87 6c 00       	push   $0x6c87a0
59620d:	50                   	push   %eax
59620e:	e8 9d 9f f0 ff       	call   0x4a01b0
596213:	83 c4 0c             	add    $0xc,%esp
596216:	89 44 24 28          	mov    %eax,0x28(%esp)
59621a:	85 c0                	test   %eax,%eax
59621c:	75 74                	jne    0x596292
59621e:	38 44 24 13          	cmp    %al,0x13(%esp)
596222:	74 09                	je     0x59622d
596224:	55                   	push   %ebp
596225:	e8 56 b7 f1 ff       	call   0x4b1980
59622a:	83 c4 04             	add    $0x4,%esp