596e71:	8b 74 24 0c          	mov    0xc(%esp),%esi
596e75:	68 6c 8a 6c 00       	push   $0x6c8a6c
596e7a:	56                   	push   %esi
596e7b:	e8 50 80 f1 ff       	call   0x4aeed0
596e80:	ff 77 04             	push   0x4(%edi)
596e83:	56                   	push   %esi
596e84:	e8 07 06 f1 ff       	call   0x4a7490
596e89:	83 c4 10             	add    $0x10,%esp
596e8c:	5e                   	pop    %esi
596e8d:	b8 01 00 00 00       	mov    $0x1,%eax
596e92:	5f                   	pop    %edi
596e93:	c3                   	ret
596e94:	f8                   	clc
596e95:	6c                   	insb   (%dx),%es:(%edi)
596e96:	59                   	pop    %ecx
596e97:	00 43 6d             	add    %al,0x6d(%ebx)
596e9a:	59                   	pop    %ecx
596e9b:	00 62 6d             	add    %ah,0x6d(%edx)
596e9e:	59                   	pop    %ecx
596e9f:	00 11                	add    %dl,(%ecx)
596ea1:	6d                   	insl   (%dx),%es:(%edi)
596ea2:	59                   	pop    %ecx
596ea3:	00 a0 6d 59 00 2a    	add    %ah,0x2a00596d(%eax)
596ea9:	6d                   	insl   (%dx),%es:(%edi)
596eaa:	59                   	pop    %ecx
596eab:	00 81 6d 59 00 ca    	add    %al,-0x35ffa693(%ecx)
596eb1:	6d                   	insl   (%dx),%es:(%edi)
596eb2:	59                   	pop    %ecx
596eb3:	00 71 6e             	add    %dh,0x6e(%ecx)
596eb6:	59                   	pop    %ecx
596eb7:	00 cc                	add    %cl,%ah
596eb9:	cc                   	int3
596eba:	cc                   	int3
596ebb:	cc                   	int3
596ebc:	cc                   	int3
596ebd:	cc                   	int3
596ebe:	cc                   	int3
596ebf:	cc                   	int3
596ec0:	57                   	push   %edi
596ec1:	8b 7c 24 18          	mov    0x18(%esp),%edi
596ec5:	85 ff                	test   %edi,%edi
596ec7:	75 1f                	jne    0x596ee8
596ec9:	68 bf 01 00 00       	push   $0x1bf
596ece:	68 24 8b 6c 00       	push   $0x6c8b24
596ed3:	6a 7c                	push   $0x7c
596ed5:	68 a4 00 00 00       	push   $0xa4
596eda:	6a 22                	push   $0x22
596edc:	e8 bf a5 f0 ff       	call   0x4a14a0
596ee1:	83 c4 14             	add    $0x14,%esp
596ee4:	33 c0                	xor    %eax,%eax
596ee6:	5f                   	pop    %edi
596ee7:	c3                   	ret
596ee8:	53                   	push   %ebx
596ee9:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
596eed:	56                   	push   %esi
596eee:	85 db                	test   %ebx,%ebx
596ef0:	74 17                	je     0x596f09
596ef2:	8b f3                	mov    %ebx,%esi
596ef4:	55                   	push   %ebp
596ef5:	8b 6c 24 20          	mov    0x20(%esp),%ebp
596ef9:	83 fd 08             	cmp    $0x8,%ebp
596efc:	0f 87 60 01 00 00    	ja     0x597062
596f02:	ff 24 ad 94 70 59 00 	jmp    *0x597094(,%ebp,4)
596f09:	e8 12 6f ff ff       	call   0x58de20
596f0e:	8b f0                	mov    %eax,%esi
596f10:	85 f6                	test   %esi,%esi
596f12:	75 e0                	jne    0x596ef4
596f14:	68 c8 01 00 00       	push   $0x1c8
596f19:	68 24 8b 6c 00       	push   $0x6c8b24
596f1e:	6a 41                	push   $0x41
596f20:	68 a4 00 00 00       	push   $0xa4
596f25:	6a 22                	push   $0x22
596f27:	e8 74 a5 f0 ff       	call   0x4a14a0
596f2c:	83 c4 14             	add    $0x14,%esp
596f2f:	33 c0                	xor    %eax,%eax
596f31:	5e                   	pop    %esi
596f32:	5b                   	pop    %ebx
596f33:	5f                   	pop    %edi
596f34:	c3                   	ret
596f35:	6a 00                	push   $0x0
596f37:	57                   	push   %edi
596f38:	e8 83 0f f1 ff       	call   0x4a7ec0
596f3d:	83 c4 08             	add    $0x8,%esp
596f40:	85 c0                	test   %eax,%eax
596f42:	75 2d                	jne    0x596f71
596f44:	68 d8 01 00 00       	push   $0x1d8
596f49:	68 24 8b 6c 00       	push   $0x6c8b24
596f4e:	6a 77                	push   $0x77
596f50:	68 a4 00 00 00       	push   $0xa4
596f55:	6a 22                	push   $0x22
596f57:	e8 44 a5 f0 ff       	call   0x4a14a0
596f5c:	57                   	push   %edi
596f5d:	68 a8 6f 6c 00       	push   $0x6c6fa8
596f62:	6a 02                	push   $0x2
596f64:	e8 57 a0 f0 ff       	call   0x4a0fc0
596f69:	83 c4 20             	add    $0x20,%esp
596f6c:	e9 0f 01 00 00       	jmp    0x597080
596f71:	89 2e                	mov    %ebp,(%esi)
596f73:	5d                   	pop    %ebp
596f74:	89 46 04             	mov    %eax,0x4(%esi)
596f77:	8b c6                	mov    %esi,%eax
596f79:	5e                   	pop    %esi
596f7a:	5b                   	pop    %ebx
596f7b:	5f                   	pop    %edi
596f7c:	c3                   	ret
596f7d:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
596f82:	57                   	push   %edi
596f83:	74 07                	je     0x596f8c
596f85:	e8 b6 18 fe ff       	call   0x578840
596f8a:	eb 05                	jmp    0x596f91
596f8c:	e8 ff 17 fe ff       	call   0x578790
596f91:	83 c4 04             	add    $0x4,%esp
596f94:	89 46 04             	mov    %eax,0x4(%esi)
596f97:	85 c0                	test   %eax,%eax
596f99:	0f 85 ac 00 00 00    	jne    0x59704b
596f9f:	68 e6 01 00 00       	push   $0x1e6
596fa4:	68 24 8b 6c 00       	push   $0x6c8b24
596fa9:	6a 76                	push   $0x76
596fab:	68 a4 00 00 00       	push   $0xa4
596fb0:	6a 22                	push   $0x22
596fb2:	e8 e9 a4 f0 ff       	call   0x4a14a0
596fb7:	57                   	push   %edi
596fb8:	68 a8 6f 6c 00       	push   $0x6c6fa8
596fbd:	6a 02                	push   $0x2
596fbf:	e8 fc 9f f0 ff       	call   0x4a0fc0
596fc4:	83 c4 20             	add    $0x20,%esp
596fc7:	e9 b4 00 00 00       	jmp    0x597080
596fcc:	ff 74 24 1c          	push   0x1c(%esp)
596fd0:	57                   	push   %edi
596fd1:	56                   	push   %esi
596fd2:	e8 19 03 00 00       	call   0x5972f0
596fd7:	83 c4 0c             	add    $0xc,%esp
596fda:	85 c0                	test   %eax,%eax
596fdc:	75 6d                	jne    0x59704b
596fde:	68 ee 01 00 00       	push   $0x1ee
596fe3:	68 24 8b 6c 00       	push   $0x6c8b24
596fe8:	68 95 00 00 00       	push   $0x95
596fed:	e9 7f 00 00 00       	jmp    0x597071
596ff2:	ff 74 24 1c          	push   0x1c(%esp)
596ff6:	57                   	push   %edi
596ff7:	56                   	push   %esi
596ff8:	e8 a3 03 00 00       	call   0x5973a0
596ffd:	83 c4 0c             	add    $0xc,%esp
597000:	85 c0                	test   %eax,%eax
597002:	75 47                	jne    0x59704b
597004:	68 f5 01 00 00       	push   $0x1f5
597009:	68 24 8b 6c 00       	push   $0x6c8b24
59700e:	68 93 00 00 00       	push   $0x93
597013:	eb 5c                	jmp    0x597071
597015:	6a 16                	push   $0x16
597017:	e8 e4 aa f1 ff       	call   0x4b1b00
59701c:	8b d0                	mov    %eax,%edx
59701e:	83 c4 04             	add    $0x4,%esp
597021:	89 56 04             	mov    %edx,0x4(%esi)
597024:	85 d2                	test   %edx,%edx
597026:	74 2c                	je     0x597054
597028:	8b cf                	mov    %edi,%ecx
59702a:	8d 41 01             	lea    0x1(%ecx),%eax
59702d:	89 44 24 24          	mov    %eax,0x24(%esp)
597031:	8a 01                	mov    (%ecx),%al
597033:	41                   	inc    %ecx
597034:	84 c0                	test   %al,%al
597036:	75 f9                	jne    0x597031
597038:	2b 4c 24 24          	sub    0x24(%esp),%ecx
59703c:	51                   	push   %ecx
59703d:	57                   	push   %edi
59703e:	52                   	push   %edx
59703f:	e8 cc a9 f1 ff       	call   0x4b1a10
597044:	83 c4 0c             	add    $0xc,%esp
597047:	85 c0                	test   %eax,%eax
597049:	74 09                	je     0x597054
59704b:	89 2e                	mov    %ebp,(%esi)
59704d:	8b c6                	mov    %esi,%eax
59704f:	5d                   	pop    %ebp
597050:	5e                   	pop    %esi
597051:	5b                   	pop    %ebx
597052:	5f                   	pop    %edi
597053:	c3                   	ret
597054:	68 02 02 00 00       	push   $0x202
597059:	68 24 8b 6c 00       	push   $0x6c8b24
59705e:	6a 41                	push   $0x41
597060:	eb 0f                	jmp    0x597071
597062:	68 fa 01 00 00       	push   $0x1fa
597067:	68 24 8b 6c 00       	push   $0x6c8b24
59706c:	68 a7 00 00 00       	push   $0xa7
597071:	68 a4 00 00 00       	push   $0xa4
597076:	6a 22                	push   $0x22
597078:	e8 23 a4 f0 ff       	call   0x4a14a0
59707d:	83 c4 14             	add    $0x14,%esp
597080:	85 db                	test   %ebx,%ebx
597082:	75 09                	jne    0x59708d
597084:	56                   	push   %esi
597085:	e8 76 6d ff ff       	call   0x58de00
59708a:	83 c4 04             	add    $0x4,%esp
59708d:	5d                   	pop    %ebp
59708e:	5e                   	pop    %esi
59708f:	5b                   	pop    %ebx
597090:	33 c0                	xor    %eax,%eax
597092:	5f                   	pop    %edi
597093:	c3                   	ret
597094:	f2 6f                	repnz outsl %ds:(%esi),(%dx)
597096:	59                   	pop    %ecx
597097:	00 15 70 59 00 15    	add    %dl,0x15005970
59709d:	70 59                	jo     0x5970f8
59709f:	00 62 70             	add    %ah,0x70(%edx)
5970a2:	59                   	pop    %ecx
5970a3:	00 cc                	add    %cl,%ah
5970a5:	6f                   	outsl  %ds:(%esi),(%dx)
5970a6:	59                   	pop    %ecx
5970a7:	00 62 70             	add    %ah,0x70(%edx)
5970aa:	59                   	pop    %ecx
5970ab:	00 15 70 59 00 7d    	add    %dl,0x7d005970
5970b1:	6f                   	outsl  %ds:(%esi),(%dx)
5970b2:	59                   	pop    %ecx
5970b3:	00 35 6f 59 00 cc    	add    %dh,0xcc00596f
5970b9:	cc                   	int3
5970ba:	cc                   	int3
5970bb:	cc                   	int3
5970bc:	cc                   	int3
5970bd:	cc                   	int3
5970be:	cc                   	int3
5970bf:	cc                   	int3
5970c0:	8b 44 24 04          	mov    0x4(%esp),%eax
5970c4:	53                   	push   %ebx
5970c5:	55                   	push   %ebp
5970c6:	56                   	push   %esi
5970c7:	57                   	push   %edi
5970c8:	33 db                	xor    %ebx,%ebx
5970ca:	33 ff                	xor    %edi,%edi
5970cc:	85 c0                	test   %eax,%eax
5970ce:	0f 84 e6 00 00 00    	je     0x5971ba
5970d4:	83 38 01             	cmpl   $0x1,(%eax)
5970d7:	75 0a                	jne    0x5970e3
5970d9:	5f                   	pop    %edi
5970da:	5e                   	pop    %esi
5970db:	5d                   	pop    %ebp
5970dc:	b8 01 00 00 00       	mov    $0x1,%eax
5970e1:	5b                   	pop    %ebx
5970e2:	c3                   	ret
5970e3:	8b 48 08             	mov    0x8(%eax),%ecx
5970e6:	85 c9                	test   %ecx,%ecx
5970e8:	75 0d                	jne    0x5970f7
5970ea:	39 58 0c             	cmp    %ebx,0xc(%eax)
5970ed:	0f 84 c7 00 00 00    	je     0x5971ba
5970f3:	85 c9                	test   %ecx,%ecx
5970f5:	74 0d                	je     0x597104
5970f7:	51                   	push   %ecx
5970f8:	e8 03 67 ff ff       	call   0x58d800
5970fd:	83 c4 04             	add    $0x4,%esp
597100:	8b e8                	mov    %eax,%ebp
597102:	eb 08                	jmp    0x59710c
597104:	8b 40 0c             	mov    0xc(%eax),%eax
597107:	8b 00                	mov    (%eax),%eax
597109:	8b 68 10             	mov    0x10(%eax),%ebp
59710c:	6a ff                	push   $0xffffffff
59710e:	6a 30                	push   $0x30
597110:	55                   	push   %ebp
597111:	e8 3a 6b ff ff       	call   0x58dc50
597116:	8b f0                	mov    %eax,%esi
597118:	83 c4 0c             	add    $0xc,%esp
59711b:	85 f6                	test   %esi,%esi
59711d:	78 ba                	js     0x5970d9
59711f:	90                   	nop
597120:	56                   	push   %esi
597121:	55                   	push   %ebp
597122:	e8 f9 6a ff ff       	call   0x58dc20
597127:	50                   	push   %eax
597128:	89 44 24 20          	mov    %eax,0x20(%esp)
59712c:	e8 ef 67 ff ff       	call   0x58d920
597131:	50                   	push   %eax
597132:	e8 e9 a7 f1 ff       	call   0x4b1920
597137:	83 c4 10             	add    $0x10,%esp
59713a:	8b d8                	mov    %eax,%ebx
59713c:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
597141:	74 14                	je     0x597157
597143:	56                   	push   %esi
597144:	55                   	push   %ebp
597145:	e8 16 6a ff ff       	call   0x58db60
59714a:	ff 74 24 1c          	push   0x1c(%esp)
59714e:	e8 7d af ff ff       	call   0x5920d0
597153:	83 c4 0c             	add    $0xc,%esp
597156:	4e                   	dec    %esi
597157:	85 db                	test   %ebx,%ebx
597159:	74 51                	je     0x5971ac
59715b:	e8 c0 6c ff ff       	call   0x58de20
597160:	8b f8                	mov    %eax,%edi
597162:	85 ff                	test   %edi,%edi
597164:	74 46                	je     0x5971ac
597166:	57                   	push   %edi
597167:	ff 74 24 1c          	push   0x1c(%esp)
59716b:	89 5f 04             	mov    %ebx,0x4(%edi)
59716e:	33 db                	xor    %ebx,%ebx
597170:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
597176:	e8 15 75 f1 ff       	call   0x4ae690
59717b:	83 c4 08             	add    $0x8,%esp
59717e:	85 c0                	test   %eax,%eax
597180:	74 1c                	je     0x59719e
597182:	56                   	push   %esi
597183:	6a 30                	push   $0x30
597185:	55                   	push   %ebp
597186:	33 ff                	xor    %edi,%edi
597188:	e8 c3 6a ff ff       	call   0x58dc50
59718d:	8b f0                	mov    %eax,%esi
59718f:	83 c4 0c             	add    $0xc,%esp
597192:	85 f6                	test   %esi,%esi
597194:	79 8a                	jns    0x597120
597196:	5f                   	pop    %edi
597197:	5e                   	pop    %esi
597198:	5d                   	pop    %ebp
597199:	8d 43 01             	lea    0x1(%ebx),%eax
59719c:	5b                   	pop    %ebx
59719d:	c3                   	ret
59719e:	68 8a 01 00 00       	push   $0x18a
5971a3:	68 24 8b 6c 00       	push   $0x6c8b24
5971a8:	6a 41                	push   $0x41
5971aa:	eb 1a                	jmp    0x5971c6
5971ac:	68 83 01 00 00       	push   $0x183
5971b1:	68 24 8b 6c 00       	push   $0x6c8b24
5971b6:	6a 41                	push   $0x41
5971b8:	eb 0c                	jmp    0x5971c6
5971ba:	68 6e 01 00 00       	push   $0x16e
5971bf:	68 24 8b 6c 00       	push   $0x6c8b24
5971c4:	6a 7d                	push   $0x7d
5971c6:	6a 7a                	push   $0x7a
5971c8:	6a 22                	push   $0x22
5971ca:	e8 d1 a2 f0 ff       	call   0x4a14a0
5971cf:	83 c4 14             	add    $0x14,%esp
5971d2:	57                   	push   %edi
5971d3:	e8 28 6c ff ff       	call   0x58de00
5971d8:	53                   	push   %ebx
5971d9:	e8 a2 a7 f1 ff       	call   0x4b1980
5971de:	83 c4 08             	add    $0x8,%esp
5971e1:	33 c0                	xor    %eax,%eax
5971e3:	5f                   	pop    %edi
5971e4:	5e                   	pop    %esi
5971e5:	5d                   	pop    %ebp
5971e6:	5b                   	pop    %ebx
5971e7:	c3                   	ret
5971e8:	cc                   	int3
5971e9:	cc                   	int3
5971ea:	cc                   	int3
5971eb:	cc                   	int3
5971ec:	cc                   	int3
5971ed:	cc                   	int3
5971ee:	cc                   	int3
5971ef:	cc                   	int3
5971f0:	53                   	push   %ebx
5971f1:	56                   	push   %esi
5971f2:	8b 74 24 0c          	mov    0xc(%esp),%esi
5971f6:	57                   	push   %edi