427ae4:	0f b7 37             	movzwl (%edi),%esi
427ae7:	83 c7 02             	add    $0x2,%edi
427aea:	e9 e1 31 ff ff       	jmp    0x41acd0
427aef:	0f b7 37             	movzwl (%edi),%esi
427af2:	bb 02 00 00 00       	mov    $0x2,%ebx
427af7:	03 fb                	add    %ebx,%edi
427af9:	e9 08 32 ff ff       	jmp    0x41ad06
427afe:	66 83 fe 7f          	cmp    $0x7f,%si
427b02:	77 13                	ja     0x427b17
427b04:	8d 46 9f             	lea    -0x61(%esi),%eax
427b07:	66 83 f8 19          	cmp    $0x19,%ax
427b0b:	77 05                	ja     0x427b12
427b0d:	8d 46 e0             	lea    -0x20(%esi),%eax
427b10:	eb 0c                	jmp    0x427b1e
427b12:	0f b7 c6             	movzwl %si,%eax
427b15:	eb 0a                	jmp    0x427b21
427b17:	8b ce                	mov    %esi,%ecx
427b19:	e8 c3 06 02 00       	call   0x4481e1
427b1e:	0f b7 c0             	movzwl %ax,%eax
427b21:	0f b7 c8             	movzwl %ax,%ecx
427b24:	83 e9 37             	sub    $0x37,%ecx
427b27:	e9 02 32 ff ff       	jmp    0x41ad2e
427b2c:	75 09                	jne    0x427b37
427b2e:	83 f9 05             	cmp    $0x5,%ecx
427b31:	0f 86 0d 32 ff ff    	jbe    0x41ad44
427b37:	83 cb 04             	or     $0x4,%ebx
427b3a:	e9 0e 32 ff ff       	jmp    0x41ad4d
427b3f:	33 c0                	xor    %eax,%eax
427b41:	eb 25                	jmp    0x427b68
427b43:	3d 00 00 00 80       	cmp    $0x80000000,%eax
427b48:	0f 86 60 32 ff ff    	jbe    0x41adae
427b4e:	f6 c3 01             	test   $0x1,%bl
427b51:	74 05                	je     0x427b58
427b53:	83 c8 ff             	or     $0xffffffff,%eax
427b56:	eb 10                	jmp    0x427b68
427b58:	f6 c3 02             	test   $0x2,%bl
427b5b:	b8 00 00 00 00       	mov    $0x0,%eax
427b60:	0f 95 c0             	setne  %al
427b63:	05 ff ff ff 7f       	add    $0x7fffffff,%eax
427b68:	89 45 b4             	mov    %eax,-0x4c(%ebp)
427b6b:	e9 3e 32 ff ff       	jmp    0x41adae
427b70:	f7 d8                	neg    %eax
427b72:	89 45 b4             	mov    %eax,-0x4c(%ebp)
427b75:	e9 3d 32 ff ff       	jmp    0x41adb7
427b7a:	83 ec 08             	sub    $0x8,%esp
427b7d:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
427b84:	00 00 00
427b87:	8d 45 88             	lea    -0x78(%ebp),%eax
427b8a:	50                   	push   %eax
427b8b:	8d 45 d0             	lea    -0x30(%ebp),%eax
427b8e:	50                   	push   %eax
427b8f:	6a 04                	push   $0x4
427b91:	53                   	push   %ebx
427b92:	e8 1b 04 02 00       	call   0x447fb2
427b97:	84 c0                	test   %al,%al
427b99:	0f 84 97 32 ff ff    	je     0x41ae36
427b9f:	83 ec 08             	sub    $0x8,%esp
427ba2:	8d 45 84             	lea    -0x7c(%ebp),%eax
427ba5:	50                   	push   %eax
427ba6:	8d 45 cc             	lea    -0x34(%ebp),%eax
427ba9:	50                   	push   %eax
427baa:	6a 02                	push   $0x2
427bac:	8d 43 08             	lea    0x8(%ebx),%eax
427baf:	50                   	push   %eax
427bb0:	e8 fd 03 02 00       	call   0x447fb2
427bb5:	84 c0                	test   %al,%al
427bb7:	0f 84 79 32 ff ff    	je     0x41ae36
427bbd:	83 ec 08             	sub    $0x8,%esp
427bc0:	8d 45 8c             	lea    -0x74(%ebp),%eax
427bc3:	50                   	push   %eax
427bc4:	8d 45 c8             	lea    -0x38(%ebp),%eax
427bc7:	50                   	push   %eax
427bc8:	6a 02                	push   $0x2
427bca:	8d 43 0c             	lea    0xc(%ebx),%eax
427bcd:	50                   	push   %eax
427bce:	e8 df 03 02 00       	call   0x447fb2
427bd3:	84 c0                	test   %al,%al
427bd5:	0f 84 5b 32 ff ff    	je     0x41ae36
427bdb:	83 ec 08             	sub    $0x8,%esp
427bde:	8d 45 90             	lea    -0x70(%ebp),%eax
427be1:	50                   	push   %eax
427be2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
427be5:	50                   	push   %eax
427be6:	6a 02                	push   $0x2
427be8:	8d 43 10             	lea    0x10(%ebx),%eax
427beb:	50                   	push   %eax
427bec:	e8 c1 03 02 00       	call   0x447fb2
427bf1:	84 c0                	test   %al,%al
427bf3:	0f 84 3d 32 ff ff    	je     0x41ae36
427bf9:	83 ec 08             	sub    $0x8,%esp
427bfc:	8d 45 94             	lea    -0x6c(%ebp),%eax
427bff:	50                   	push   %eax
427c00:	8d 45 c0             	lea    -0x40(%ebp),%eax
427c03:	50                   	push   %eax
427c04:	6a 02                	push   $0x2
427c06:	8d 43 14             	lea    0x14(%ebx),%eax
427c09:	50                   	push   %eax
427c0a:	e8 a3 03 02 00       	call   0x447fb2
427c0f:	84 c0                	test   %al,%al
427c11:	0f 84 1f 32 ff ff    	je     0x41ae36
427c17:	83 ec 08             	sub    $0x8,%esp
427c1a:	8d 45 98             	lea    -0x68(%ebp),%eax
427c1d:	50                   	push   %eax
427c1e:	8d 45 bc             	lea    -0x44(%ebp),%eax
427c21:	50                   	push   %eax
427c22:	6a 02                	push   $0x2
427c24:	8d 43 18             	lea    0x18(%ebx),%eax
427c27:	50                   	push   %eax
427c28:	e8 85 03 02 00       	call   0x447fb2
427c2d:	84 c0                	test   %al,%al
427c2f:	0f 84 01 32 ff ff    	je     0x41ae36
427c35:	b8 2e 00 00 00       	mov    $0x2e,%eax
427c3a:	66 3b 43 1c          	cmp    0x1c(%ebx),%ax
427c3e:	0f 85 f2 31 ff ff    	jne    0x41ae36
427c44:	83 ec 08             	sub    $0x8,%esp
427c47:	8d 45 9c             	lea    -0x64(%ebp),%eax
427c4a:	50                   	push   %eax
427c4b:	8d 45 d8             	lea    -0x28(%ebp),%eax
427c4e:	50                   	push   %eax
427c4f:	6a 06                	push   $0x6
427c51:	8d 43 1e             	lea    0x1e(%ebx),%eax
427c54:	50                   	push   %eax
427c55:	e8 58 03 02 00       	call   0x447fb2
427c5a:	84 c0                	test   %al,%al
427c5c:	0f 84 d4 31 ff ff    	je     0x41ae36
427c62:	6a 01                	push   $0x1
427c64:	8d 45 a0             	lea    -0x60(%ebp),%eax
427c67:	50                   	push   %eax
427c68:	8d 45 d4             	lea    -0x2c(%ebp),%eax
427c6b:	50                   	push   %eax
427c6c:	56                   	push   %esi
427c6d:	e8 0d 04 02 00       	call   0x44807f
427c72:	84 c0                	test   %al,%al
427c74:	0f 84 bc 31 ff ff    	je     0x41ae36
427c7a:	8b 4d a0             	mov    -0x60(%ebp),%ecx
427c7d:	8b 45 90             	mov    -0x70(%ebp),%eax
427c80:	8b 75 98             	mov    -0x68(%ebp),%esi
427c83:	66 8b 5d bc          	mov    -0x44(%ebp),%bx
427c87:	8b 7d 8c             	mov    -0x74(%ebp),%edi
427c8a:	66 8b 55 d8          	mov    -0x28(%ebp),%dx
427c8e:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
427c91:	66 8b 4d d0          	mov    -0x30(%ebp),%cx
427c95:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
427c9b:	66 8b 4d cc          	mov    -0x34(%ebp),%cx
427c9f:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
427ca5:	66 8b 4d c8          	mov    -0x38(%ebp),%cx
427ca9:	89 45 a8             	mov    %eax,-0x58(%ebp)
427cac:	8b 45 94             	mov    -0x6c(%ebp),%eax
427caf:	89 45 a4             	mov    %eax,-0x5c(%ebp)
427cb2:	8b 45 9c             	mov    -0x64(%ebp),%eax
427cb5:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
427cb8:	66 8b 4d c4          	mov    -0x3c(%ebp),%cx
427cbc:	89 4d 98             	mov    %ecx,-0x68(%ebp)
427cbf:	66 8b 4d c0          	mov    -0x40(%ebp),%cx
427cc3:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
427cc6:	66 8b 4d d4          	mov    -0x2c(%ebp),%cx
427cca:	89 7d ac             	mov    %edi,-0x54(%ebp)
427ccd:	89 5d 90             	mov    %ebx,-0x70(%ebp)
427cd0:	e9 ee 30 ff ff       	jmp    0x41adc3
427cd5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
427cdc:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
427ce3:	e9 a7 32 ff ff       	jmp    0x41af8f
427ce8:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
427cef:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
427cf6:	e9 18 33 ff ff       	jmp    0x41b013
427cfb:	c7 45 f8 12 10 04 80 	movl   $0x80041012,-0x8(%ebp)
427d02:	e9 0c 33 ff ff       	jmp    0x41b013
427d07:	66 83 f9 01          	cmp    $0x1,%cx
427d0b:	75 13                	jne    0x427d20
427d0d:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
427d14:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
427d1b:	e9 6a 33 ff ff       	jmp    0x41b08a
427d20:	bf 12 10 04 80       	mov    $0x80041012,%edi
427d25:	e9 60 33 ff ff       	jmp    0x41b08a
427d2a:	66 83 f9 01          	cmp    $0x1,%cx
427d2e:	75 13                	jne    0x427d43
427d30:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
427d37:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
427d3e:	e9 b2 33 ff ff       	jmp    0x41b0f5
427d43:	bf 12 10 04 80       	mov    $0x80041012,%edi
427d48:	e9 a8 33 ff ff       	jmp    0x41b0f5
427d4d:	66 83 f9 01          	cmp    $0x1,%cx
427d51:	75 13                	jne    0x427d66
427d53:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
427d5a:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
427d61:	e9 f6 33 ff ff       	jmp    0x41b15c
427d66:	bf 12 10 04 80       	mov    $0x80041012,%edi
427d6b:	e9 ec 33 ff ff       	jmp    0x41b15c
427d70:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
427d73:	0f 85 0f 53 fe ff    	jne    0x40d088
427d79:	89 1f                	mov    %ebx,(%edi)
427d7b:	e9 a1 52 fe ff       	jmp    0x40d021
427d80:	83 ff 02             	cmp    $0x2,%edi
427d83:	0f 84 67 53 fe ff    	je     0x40d0f0
427d89:	85 ff                	test   %edi,%edi
427d8b:	7f 07                	jg     0x427d94
427d8d:	8b f7                	mov    %edi,%esi
427d8f:	e9 61 53 fe ff       	jmp    0x40d0f5
427d94:	0f b7 f7             	movzwl %di,%esi
427d97:	eb 0c                	jmp    0x427da5
427d99:	7f 07                	jg     0x427da2
427d9b:	8b f0                	mov    %eax,%esi
427d9d:	e9 53 53 fe ff       	jmp    0x40d0f5
427da2:	0f b7 f0             	movzwl %ax,%esi
427da5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
427dab:	e9 45 53 fe ff       	jmp    0x40d0f5
427db0:	66 83 f8 01          	cmp    $0x1,%ax
427db4:	75 0c                	jne    0x427dc2
427db6:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
427dbd:	e9 d0 53 fe ff       	jmp    0x40d192
427dc2:	bf 12 10 04 80       	mov    $0x80041012,%edi
427dc7:	89 7c 24 20          	mov    %edi,0x20(%esp)
427dcb:	e9 c4 53 fe ff       	jmp    0x40d194
427dd0:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427dd5:	0f 84 b7 53 fe ff    	je     0x40d192
427ddb:	8b f8                	mov    %eax,%edi
427ddd:	89 7c 24 20          	mov    %edi,0x20(%esp)
427de1:	e9 ae 53 fe ff       	jmp    0x40d194
427de6:	33 c0                	xor    %eax,%eax
427de8:	e9 26 54 fe ff       	jmp    0x40d213
427ded:	66 83 f8 01          	cmp    $0x1,%ax
427df1:	75 0c                	jne    0x427dff
427df3:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
427dfa:	e9 17 54 fe ff       	jmp    0x40d216
427dff:	bf 12 10 04 80       	mov    $0x80041012,%edi
427e04:	eb 0d                	jmp    0x427e13
427e06:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427e0b:	0f 84 05 54 fe ff    	je     0x40d216
427e11:	8b f8                	mov    %eax,%edi
427e13:	89 7c 24 20          	mov    %edi,0x20(%esp)
427e17:	e9 fa 53 fe ff       	jmp    0x40d216
427e1c:	66 83 f8 01          	cmp    $0x1,%ax
427e20:	75 0c                	jne    0x427e2e
427e22:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
427e29:	e9 64 54 fe ff       	jmp    0x40d292
427e2e:	bf 12 10 04 80       	mov    $0x80041012,%edi
427e33:	eb 0d                	jmp    0x427e42
427e35:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427e3a:	0f 84 52 54 fe ff    	je     0x40d292
427e40:	8b f8                	mov    %eax,%edi
427e42:	89 7c 24 20          	mov    %edi,0x20(%esp)
427e46:	e9 47 54 fe ff       	jmp    0x40d292
427e4b:	33 c0                	xor    %eax,%eax
427e4d:	e9 bf 54 fe ff       	jmp    0x40d311
427e52:	66 83 f8 01          	cmp    $0x1,%ax
427e56:	75 0c                	jne    0x427e64
427e58:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
427e5f:	e9 b0 54 fe ff       	jmp    0x40d314
427e64:	bf 12 10 04 80       	mov    $0x80041012,%edi
427e69:	eb 0d                	jmp    0x427e78
427e6b:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427e70:	0f 84 9e 54 fe ff    	je     0x40d314
427e76:	8b f8                	mov    %eax,%edi
427e78:	89 7c 24 20          	mov    %edi,0x20(%esp)
427e7c:	e9 93 54 fe ff       	jmp    0x40d314
427e81:	33 c0                	xor    %eax,%eax
427e83:	66 83 7c 24 48 ff    	cmpw   $0xffff,0x48(%esp)
427e89:	0f 94 c0             	sete   %al
427e8c:	89 43 1c             	mov    %eax,0x1c(%ebx)
427e8f:	e9 ff 54 fe ff       	jmp    0x40d393
427e94:	bf 12 10 04 80       	mov    $0x80041012,%edi
427e99:	eb 0d                	jmp    0x427ea8
427e9b:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427ea0:	0f 84 ed 54 fe ff    	je     0x40d393
427ea6:	8b f8                	mov    %eax,%edi
427ea8:	89 7c 24 20          	mov    %edi,0x20(%esp)
427eac:	e9 e2 54 fe ff       	jmp    0x40d393
427eb1:	33 c0                	xor    %eax,%eax
427eb3:	66 83 7c 24 48 ff    	cmpw   $0xffff,0x48(%esp)
427eb9:	0f 94 c0             	sete   %al
427ebc:	89 43 20             	mov    %eax,0x20(%ebx)
427ebf:	e9 4e 55 fe ff       	jmp    0x40d412
427ec4:	bf 12 10 04 80       	mov    $0x80041012,%edi
427ec9:	eb 0d                	jmp    0x427ed8
427ecb:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427ed0:	0f 84 3c 55 fe ff    	je     0x40d412
427ed6:	8b f8                	mov    %eax,%edi
427ed8:	89 7c 24 20          	mov    %edi,0x20(%esp)
427edc:	e9 31 55 fe ff       	jmp    0x40d412
427ee1:	6a 01                	push   $0x1
427ee3:	66 89 44 24 14       	mov    %ax,0x14(%esp)
427ee8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
427eec:	50                   	push   %eax
427eed:	6a 01                	push   $0x1
427eef:	8d 44 24 1c          	lea    0x1c(%esp),%eax
427ef3:	50                   	push   %eax
427ef4:	68 00 01 00 00       	push   $0x100
427ef9:	6a 7f                	push   $0x7f
427efb:	ff 15 a8 10 45 00    	call   *0x4510a8
427f01:	85 c0                	test   %eax,%eax
427f03:	0f b7 44 24 10       	movzwl 0x10(%esp),%eax
427f08:	0f 84 3f 56 fe ff    	je     0x40d54d
427f0e:	0f b7 44 24 18       	movzwl 0x18(%esp),%eax
427f13:	e9 35 56 fe ff       	jmp    0x40d54d
427f18:	6a 01                	push   $0x1
427f1a:	8d 44 24 20          	lea    0x20(%esp),%eax
427f1e:	66 89 4c 24 18       	mov    %cx,0x18(%esp)
427f23:	50                   	push   %eax
427f24:	6a 01                	push   $0x1
427f26:	8d 44 24 20          	lea    0x20(%esp),%eax
427f2a:	50                   	push   %eax
427f2b:	68 00 01 00 00       	push   $0x100
427f30:	6a 7f                	push   $0x7f
427f32:	ff 15 a8 10 45 00    	call   *0x4510a8
427f38:	85 c0                	test   %eax,%eax
427f3a:	0f b7 44 24 14       	movzwl 0x14(%esp),%eax
427f3f:	0f 84 10 56 fe ff    	je     0x40d555
427f45:	0f b7 44 24 1c       	movzwl 0x1c(%esp),%eax
427f4a:	e9 06 56 fe ff       	jmp    0x40d555
427f4f:	8b 54 24 28          	mov    0x28(%esp),%edx
427f53:	b9 cc b3 40 00       	mov    $0x40b3cc,%ecx
427f58:	e8 fb 64 ff ff       	call   0x41e458
427f5d:	85 c0                	test   %eax,%eax
427f5f:	75 0d                	jne    0x427f6e
427f61:	8b 5c 24 24          	mov    0x24(%esp),%ebx
427f65:	83 4b 28 02          	orl    $0x2,0x28(%ebx)
427f69:	e9 fa 55 fe ff       	jmp    0x40d568
427f6e:	8b 54 24 28          	mov    0x28(%esp),%edx
427f72:	b9 ec b3 40 00       	mov    $0x40b3ec,%ecx
427f77:	e8 dc 64 ff ff       	call   0x41e458
427f7c:	85 c0                	test   %eax,%eax
427f7e:	75 0d                	jne    0x427f8d
427f80:	8b 5c 24 24          	mov    0x24(%esp),%ebx
427f84:	83 4b 28 04          	orl    $0x4,0x28(%ebx)
427f88:	e9 db 55 fe ff       	jmp    0x40d568
427f8d:	8b 54 24 28          	mov    0x28(%esp),%edx
427f91:	b9 0c b4 40 00       	mov    $0x40b40c,%ecx
427f96:	e8 bd 64 ff ff       	call   0x41e458
427f9b:	8b 5c 24 24          	mov    0x24(%esp),%ebx
427f9f:	85 c0                	test   %eax,%eax
427fa1:	75 09                	jne    0x427fac
427fa3:	83 4b 28 08          	orl    $0x8,0x28(%ebx)
427fa7:	e9 bc 55 fe ff       	jmp    0x40d568
427fac:	c7 44 24 20 12 10 04 	movl   $0x80041012,0x20(%esp)
427fb3:	80
427fb4:	e9 af 55 fe ff       	jmp    0x40d568
427fb9:	c7 44 24 20 12 10 04 	movl   $0x80041012,0x20(%esp)
427fc0:	80
427fc1:	e9 c2 55 fe ff       	jmp    0x40d588
427fc6:	3d 02 10 04 80       	cmp    $0x80041002,%eax
427fcb:	0f 84 b7 55 fe ff    	je     0x40d588
427fd1:	89 44 24 20          	mov    %eax,0x20(%esp)
427fd5:	e9 ae 55 fe ff       	jmp    0x40d588
427fda:	83 e8 01             	sub    $0x1,%eax
427fdd:	74 11                	je     0x427ff0
427fdf:	83 e8 01             	sub    $0x1,%eax
427fe2:	75 22                	jne    0x428006
427fe4:	c7 43 24 02 00 00 00 	movl   $0x2,0x24(%ebx)
427feb:	e9 16 56 fe ff       	jmp    0x40d606
427ff0:	c7 43 24 01 00 00 00 	movl   $0x1,0x24(%ebx)