4389dc:	83 e2 7f             	and    $0x7f,%edx
4389df:	c1 e8 07             	shr    $0x7,%eax
4389e2:	74 37                	je     0x438a1b
4389e4:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4389eb:	66 0f 7f 01          	movdqa %xmm0,(%ecx)
4389ef:	66 0f 7f 41 10       	movdqa %xmm0,0x10(%ecx)
4389f4:	66 0f 7f 41 20       	movdqa %xmm0,0x20(%ecx)
4389f9:	66 0f 7f 41 30       	movdqa %xmm0,0x30(%ecx)
4389fe:	66 0f 7f 41 40       	movdqa %xmm0,0x40(%ecx)
438a03:	66 0f 7f 41 50       	movdqa %xmm0,0x50(%ecx)
438a08:	66 0f 7f 41 60       	movdqa %xmm0,0x60(%ecx)
438a0d:	66 0f 7f 41 70       	movdqa %xmm0,0x70(%ecx)
438a12:	8d 89 80 00 00 00    	lea    0x80(%ecx),%ecx
438a18:	48                   	dec    %eax
438a19:	75 d0                	jne    0x4389eb
438a1b:	85 d2                	test   %edx,%edx
438a1d:	74 37                	je     0x438a56
438a1f:	8b c2                	mov    %edx,%eax
438a21:	c1 e8 04             	shr    $0x4,%eax
438a24:	74 0f                	je     0x438a35
438a26:	eb 03                	jmp    0x438a2b
438a28:	8d 49 00             	lea    0x0(%ecx),%ecx
438a2b:	66 0f 7f 01          	movdqa %xmm0,(%ecx)
438a2f:	8d 49 10             	lea    0x10(%ecx),%ecx
438a32:	48                   	dec    %eax
438a33:	75 f6                	jne    0x438a2b
438a35:	83 e2 0f             	and    $0xf,%edx
438a38:	74 1c                	je     0x438a56
438a3a:	8b c2                	mov    %edx,%eax
438a3c:	33 db                	xor    %ebx,%ebx
438a3e:	c1 ea 02             	shr    $0x2,%edx
438a41:	74 08                	je     0x438a4b
438a43:	89 19                	mov    %ebx,(%ecx)
438a45:	8d 49 04             	lea    0x4(%ecx),%ecx
438a48:	4a                   	dec    %edx
438a49:	75 f8                	jne    0x438a43
438a4b:	83 e0 03             	and    $0x3,%eax
438a4e:	74 06                	je     0x438a56
438a50:	88 19                	mov    %bl,(%ecx)
438a52:	41                   	inc    %ecx
438a53:	48                   	dec    %eax
438a54:	75 fa                	jne    0x438a50
438a56:	5b                   	pop    %ebx
438a57:	58                   	pop    %eax
438a58:	c3                   	ret
438a59:	8b d8                	mov    %eax,%ebx
438a5b:	f7 db                	neg    %ebx
438a5d:	83 c3 10             	add    $0x10,%ebx
438a60:	2b d3                	sub    %ebx,%edx
438a62:	33 c0                	xor    %eax,%eax
438a64:	52                   	push   %edx
438a65:	8b d3                	mov    %ebx,%edx
438a67:	83 e2 03             	and    $0x3,%edx
438a6a:	74 06                	je     0x438a72
438a6c:	88 01                	mov    %al,(%ecx)
438a6e:	41                   	inc    %ecx
438a6f:	4a                   	dec    %edx
438a70:	75 fa                	jne    0x438a6c
438a72:	c1 eb 02             	shr    $0x2,%ebx
438a75:	74 08                	je     0x438a7f
438a77:	89 01                	mov    %eax,(%ecx)
438a79:	8d 49 04             	lea    0x4(%ecx),%ecx
438a7c:	4b                   	dec    %ebx
438a7d:	75 f8                	jne    0x438a77
438a7f:	5a                   	pop    %edx
438a80:	e9 55 ff ff ff       	jmp    0x4389da
438a85:	6a 0a                	push   $0xa
438a87:	ff 15 84 35 47 00    	call   *0x473584
438a8d:	a3 20 17 47 00       	mov    %eax,0x471720
438a92:	33 c0                	xor    %eax,%eax
438a94:	c3                   	ret
438a95:	2d a4 03 00 00       	sub    $0x3a4,%eax
438a9a:	74 22                	je     0x438abe
438a9c:	83 e8 04             	sub    $0x4,%eax
438a9f:	74 17                	je     0x438ab8
438aa1:	83 e8 0d             	sub    $0xd,%eax
438aa4:	74 0c                	je     0x438ab2
438aa6:	48                   	dec    %eax
438aa7:	74 03                	je     0x438aac
438aa9:	33 c0                	xor    %eax,%eax
438aab:	c3                   	ret
438aac:	b8 04 04 00 00       	mov    $0x404,%eax
438ab1:	c3                   	ret
438ab2:	b8 12 04 00 00       	mov    $0x412,%eax
438ab7:	c3                   	ret
438ab8:	b8 04 08 00 00       	mov    $0x804,%eax
438abd:	c3                   	ret
438abe:	b8 11 04 00 00       	mov    $0x411,%eax
438ac3:	c3                   	ret
438ac4:	8b ff                	mov    %edi,%edi
438ac6:	56                   	push   %esi
438ac7:	57                   	push   %edi
438ac8:	8b f0                	mov    %eax,%esi
438aca:	68 01 01 00 00       	push   $0x101
438acf:	33 ff                	xor    %edi,%edi
438ad1:	8d 46 1c             	lea    0x1c(%esi),%eax
438ad4:	57                   	push   %edi
438ad5:	50                   	push   %eax
438ad6:	e8 95 80 ff ff       	call   0x430b70
438adb:	33 c0                	xor    %eax,%eax
438add:	0f b7 c8             	movzwl %ax,%ecx
438ae0:	8b c1                	mov    %ecx,%eax
438ae2:	89 7e 04             	mov    %edi,0x4(%esi)
438ae5:	89 7e 08             	mov    %edi,0x8(%esi)
438ae8:	89 7e 0c             	mov    %edi,0xc(%esi)
438aeb:	c1 e1 10             	shl    $0x10,%ecx
438aee:	0b c1                	or     %ecx,%eax
438af0:	8d 7e 10             	lea    0x10(%esi),%edi
438af3:	ab                   	stos   %eax,%es:(%edi)
438af4:	ab                   	stos   %eax,%es:(%edi)
438af5:	ab                   	stos   %eax,%es:(%edi)
438af6:	b9 b0 f6 46 00       	mov    $0x46f6b0,%ecx
438afb:	83 c4 0c             	add    $0xc,%esp
438afe:	8d 46 1c             	lea    0x1c(%esi),%eax
438b01:	2b ce                	sub    %esi,%ecx
438b03:	bf 01 01 00 00       	mov    $0x101,%edi
438b08:	8a 14 01             	mov    (%ecx,%eax,1),%dl
438b0b:	88 10                	mov    %dl,(%eax)
438b0d:	40                   	inc    %eax
438b0e:	4f                   	dec    %edi
438b0f:	75 f7                	jne    0x438b08
438b11:	8d 86 1d 01 00 00    	lea    0x11d(%esi),%eax
438b17:	be 00 01 00 00       	mov    $0x100,%esi
438b1c:	8a 14 08             	mov    (%eax,%ecx,1),%dl
438b1f:	88 10                	mov    %dl,(%eax)
438b21:	40                   	inc    %eax
438b22:	4e                   	dec    %esi
438b23:	75 f7                	jne    0x438b1c
438b25:	5f                   	pop    %edi
438b26:	5e                   	pop    %esi
438b27:	c3                   	ret
438b28:	8b ff                	mov    %edi,%edi
438b2a:	55                   	push   %ebp
438b2b:	8b ec                	mov    %esp,%ebp
438b2d:	81 ec 1c 05 00 00    	sub    $0x51c,%esp
438b33:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
438b38:	33 c5                	xor    %ebp,%eax
438b3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
438b3d:	53                   	push   %ebx
438b3e:	57                   	push   %edi
438b3f:	8d 85 e8 fa ff ff    	lea    -0x518(%ebp),%eax
438b45:	50                   	push   %eax
438b46:	ff 76 04             	push   0x4(%esi)
438b49:	ff 15 88 35 47 00    	call   *0x473588
438b4f:	bf 00 01 00 00       	mov    $0x100,%edi
438b54:	85 c0                	test   %eax,%eax
438b56:	0f 84 fc 00 00 00    	je     0x438c58
438b5c:	33 c0                	xor    %eax,%eax
438b5e:	88 84 05 fc fe ff ff 	mov    %al,-0x104(%ebp,%eax,1)
438b65:	40                   	inc    %eax
438b66:	3b c7                	cmp    %edi,%eax
438b68:	72 f4                	jb     0x438b5e
438b6a:	8a 85 ee fa ff ff    	mov    -0x512(%ebp),%al
438b70:	c6 85 fc fe ff ff 20 	movb   $0x20,-0x104(%ebp)
438b77:	84 c0                	test   %al,%al
438b79:	74 30                	je     0x438bab
438b7b:	8d 9d ef fa ff ff    	lea    -0x511(%ebp),%ebx
438b81:	0f b6 c8             	movzbl %al,%ecx
438b84:	0f b6 03             	movzbl (%ebx),%eax
438b87:	3b c8                	cmp    %eax,%ecx
438b89:	77 16                	ja     0x438ba1
438b8b:	2b c1                	sub    %ecx,%eax
438b8d:	40                   	inc    %eax
438b8e:	50                   	push   %eax
438b8f:	8d 94 0d fc fe ff ff 	lea    -0x104(%ebp,%ecx,1),%edx
438b96:	6a 20                	push   $0x20
438b98:	52                   	push   %edx
438b99:	e8 d2 7f ff ff       	call   0x430b70
438b9e:	83 c4 0c             	add    $0xc,%esp
438ba1:	8a 43 01             	mov    0x1(%ebx),%al
438ba4:	83 c3 02             	add    $0x2,%ebx
438ba7:	84 c0                	test   %al,%al
438ba9:	75 d6                	jne    0x438b81
438bab:	6a 00                	push   $0x0
438bad:	ff 76 0c             	push   0xc(%esi)
438bb0:	8d 85 fc fa ff ff    	lea    -0x504(%ebp),%eax
438bb6:	ff 76 04             	push   0x4(%esi)
438bb9:	50                   	push   %eax
438bba:	57                   	push   %edi
438bbb:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438bc1:	50                   	push   %eax
438bc2:	6a 01                	push   $0x1
438bc4:	6a 00                	push   $0x0
438bc6:	e8 37 98 00 00       	call   0x442402
438bcb:	33 db                	xor    %ebx,%ebx
438bcd:	53                   	push   %ebx
438bce:	ff 76 04             	push   0x4(%esi)
438bd1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
438bd7:	57                   	push   %edi
438bd8:	50                   	push   %eax
438bd9:	57                   	push   %edi
438bda:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438be0:	50                   	push   %eax
438be1:	57                   	push   %edi
438be2:	ff 76 0c             	push   0xc(%esi)
438be5:	53                   	push   %ebx
438be6:	e8 ea 96 00 00       	call   0x4422d5
438beb:	83 c4 44             	add    $0x44,%esp
438bee:	53                   	push   %ebx
438bef:	ff 76 04             	push   0x4(%esi)
438bf2:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
438bf8:	57                   	push   %edi
438bf9:	50                   	push   %eax
438bfa:	57                   	push   %edi
438bfb:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438c01:	50                   	push   %eax
438c02:	68 00 02 00 00       	push   $0x200
438c07:	ff 76 0c             	push   0xc(%esi)
438c0a:	53                   	push   %ebx
438c0b:	e8 c5 96 00 00       	call   0x4422d5
438c10:	83 c4 24             	add    $0x24,%esp
438c13:	33 c0                	xor    %eax,%eax
438c15:	0f b7 8c 45 fc fa ff 	movzwl -0x504(%ebp,%eax,2),%ecx
438c1c:	ff
438c1d:	f6 c1 01             	test   $0x1,%cl
438c20:	74 0e                	je     0x438c30
438c22:	80 4c 06 1d 10       	orb    $0x10,0x1d(%esi,%eax,1)
438c27:	8a 8c 05 fc fd ff ff 	mov    -0x204(%ebp,%eax,1),%cl
438c2e:	eb 11                	jmp    0x438c41
438c30:	f6 c1 02             	test   $0x2,%cl
438c33:	74 15                	je     0x438c4a
438c35:	80 4c 06 1d 20       	orb    $0x20,0x1d(%esi,%eax,1)
438c3a:	8a 8c 05 fc fc ff ff 	mov    -0x304(%ebp,%eax,1),%cl
438c41:	88 8c 06 1d 01 00 00 	mov    %cl,0x11d(%esi,%eax,1)
438c48:	eb 07                	jmp    0x438c51
438c4a:	88 9c 06 1d 01 00 00 	mov    %bl,0x11d(%esi,%eax,1)
438c51:	40                   	inc    %eax
438c52:	3b c7                	cmp    %edi,%eax
438c54:	72 bf                	jb     0x438c15
438c56:	eb 52                	jmp    0x438caa
438c58:	8d 86 1d 01 00 00    	lea    0x11d(%esi),%eax
438c5e:	c7 85 e4 fa ff ff 9f 	movl   $0xffffff9f,-0x51c(%ebp)
438c65:	ff ff ff
438c68:	33 c9                	xor    %ecx,%ecx
438c6a:	29 85 e4 fa ff ff    	sub    %eax,-0x51c(%ebp)
438c70:	8b 95 e4 fa ff ff    	mov    -0x51c(%ebp),%edx
438c76:	8d 84 0e 1d 01 00 00 	lea    0x11d(%esi,%ecx,1),%eax
438c7d:	03 d0                	add    %eax,%edx
438c7f:	8d 5a 20             	lea    0x20(%edx),%ebx
438c82:	83 fb 19             	cmp    $0x19,%ebx
438c85:	77 0a                	ja     0x438c91
438c87:	80 4c 0e 1d 10       	orb    $0x10,0x1d(%esi,%ecx,1)
438c8c:	8d 51 20             	lea    0x20(%ecx),%edx
438c8f:	eb 0d                	jmp    0x438c9e
438c91:	83 fa 19             	cmp    $0x19,%edx
438c94:	77 0c                	ja     0x438ca2
438c96:	80 4c 0e 1d 20       	orb    $0x20,0x1d(%esi,%ecx,1)
438c9b:	8d 51 e0             	lea    -0x20(%ecx),%edx
438c9e:	88 10                	mov    %dl,(%eax)
438ca0:	eb 03                	jmp    0x438ca5
438ca2:	c6 00 00             	movb   $0x0,(%eax)
438ca5:	41                   	inc    %ecx
438ca6:	3b cf                	cmp    %edi,%ecx
438ca8:	72 c6                	jb     0x438c70
438caa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438cad:	5f                   	pop    %edi
438cae:	33 cd                	xor    %ebp,%ecx
438cb0:	5b                   	pop    %ebx
438cb1:	e8 db 5c 00 00       	call   0x43e991
438cb6:	c9                   	leave
438cb7:	c3                   	ret
438cb8:	6a 0c                	push   $0xc
438cba:	68 e8 de 46 00       	push   $0x46dee8
438cbf:	e8 bc c0 ff ff       	call   0x434d80
438cc4:	e8 5f b9 ff ff       	call   0x434628
438cc9:	8b f8                	mov    %eax,%edi
438ccb:	a1 d0 fb 46 00       	mov    0x46fbd0,%eax
438cd0:	85 47 70             	test   %eax,0x70(%edi)
438cd3:	74 1d                	je     0x438cf2
438cd5:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
438cd9:	74 17                	je     0x438cf2
438cdb:	8b 77 68             	mov    0x68(%edi),%esi
438cde:	85 f6                	test   %esi,%esi
438ce0:	75 08                	jne    0x438cea
438ce2:	6a 20                	push   $0x20
438ce4:	e8 ab 74 ff ff       	call   0x430194
438ce9:	59                   	pop    %ecx
438cea:	8b c6                	mov    %esi,%eax
438cec:	e8 d4 c0 ff ff       	call   0x434dc5
438cf1:	c3                   	ret
438cf2:	6a 0d                	push   $0xd
438cf4:	e8 28 ac ff ff       	call   0x433921
438cf9:	59                   	pop    %ecx
438cfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
438cfe:	8b 77 68             	mov    0x68(%edi),%esi
438d01:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438d04:	3b 35 d8 fa 46 00    	cmp    0x46fad8,%esi
438d0a:	74 36                	je     0x438d42
438d0c:	85 f6                	test   %esi,%esi
438d0e:	74 1a                	je     0x438d2a
438d10:	56                   	push   %esi
438d11:	ff 15 44 35 47 00    	call   *0x473544
438d17:	85 c0                	test   %eax,%eax
438d19:	75 0f                	jne    0x438d2a
438d1b:	81 fe b0 f6 46 00    	cmp    $0x46f6b0,%esi
438d21:	74 07                	je     0x438d2a
438d23:	56                   	push   %esi
438d24:	e8 74 7c ff ff       	call   0x43099d
438d29:	59                   	pop    %ecx
438d2a:	a1 d8 fa 46 00       	mov    0x46fad8,%eax
438d2f:	89 47 68             	mov    %eax,0x68(%edi)
438d32:	8b 35 d8 fa 46 00    	mov    0x46fad8,%esi
438d38:	89 75 e4             	mov    %esi,-0x1c(%ebp)
438d3b:	56                   	push   %esi
438d3c:	ff 15 38 35 47 00    	call   *0x473538
438d42:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
438d49:	e8 05 00 00 00       	call   0x438d53
438d4e:	eb 8e                	jmp    0x438cde
438d50:	8b 75 e4             	mov    -0x1c(%ebp),%esi
438d53:	6a 0d                	push   $0xd
438d55:	e8 d6 aa ff ff       	call   0x433830
438d5a:	59                   	pop    %ecx
438d5b:	c3                   	ret
438d5c:	8b ff                	mov    %edi,%edi
438d5e:	55                   	push   %ebp
438d5f:	8b ec                	mov    %esp,%ebp
438d61:	83 ec 10             	sub    $0x10,%esp
438d64:	53                   	push   %ebx
438d65:	33 db                	xor    %ebx,%ebx
438d67:	53                   	push   %ebx
438d68:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438d6b:	e8 7a 7e ff ff       	call   0x430bea
438d70:	89 1d a8 10 47 00    	mov    %ebx,0x4710a8
438d76:	83 fe fe             	cmp    $0xfffffffe,%esi
438d79:	75 1e                	jne    0x438d99
438d7b:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438d82:	00 00 00
438d85:	ff 15 90 35 47 00    	call   *0x473590
438d8b:	38 5d fc             	cmp    %bl,-0x4(%ebp)
438d8e:	74 45                	je     0x438dd5
438d90:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438d93:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
438d97:	eb 3c                	jmp    0x438dd5
438d99:	83 fe fd             	cmp    $0xfffffffd,%esi
438d9c:	75 12                	jne    0x438db0
438d9e:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438da5:	00 00 00
438da8:	ff 15 8c 35 47 00    	call   *0x47358c
438dae:	eb db                	jmp    0x438d8b
438db0:	83 fe fc             	cmp    $0xfffffffc,%esi
438db3:	75 12                	jne    0x438dc7
438db5:	8b 45 f0             	mov    -0x10(%ebp),%eax
438db8:	8b 40 04             	mov    0x4(%eax),%eax
438dbb:	c7 05 a8 10 47 00 01 	movl   $0x1,0x4710a8
438dc2:	00 00 00
438dc5:	eb c4                	jmp    0x438d8b
438dc7:	38 5d fc             	cmp    %bl,-0x4(%ebp)
438dca:	74 07                	je     0x438dd3
438dcc:	8b 45 f8             	mov    -0x8(%ebp),%eax
438dcf:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)