4079f1:	59                   	pop    %ecx
4079f2:	85 c0                	test   %eax,%eax
4079f4:	74 1f                	je     0x407a15
4079f6:	83 fe e0             	cmp    $0xffffffe0,%esi
4079f9:	76 cd                	jbe    0x4079c8
4079fb:	56                   	push   %esi
4079fc:	e8 ca c7 ff ff       	call   0x4041cb
407a01:	59                   	pop    %ecx
407a02:	e8 45 b4 ff ff       	call   0x402e4c
407a07:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
407a0d:	33 c0                	xor    %eax,%eax
407a0f:	e8 b1 b1 ff ff       	call   0x402bc5
407a14:	c3                   	ret
407a15:	e8 32 b4 ff ff       	call   0x402e4c
407a1a:	e9 7c ff ff ff       	jmp    0x40799b
407a1f:	85 ff                	test   %edi,%edi
407a21:	75 16                	jne    0x407a39
407a23:	e8 24 b4 ff ff       	call   0x402e4c
407a28:	8b f0                	mov    %eax,%esi
407a2a:	ff 15 58 d0 41 00    	call   *0x41d058
407a30:	50                   	push   %eax
407a31:	e8 d4 b3 ff ff       	call   0x402e0a
407a36:	89 06                	mov    %eax,(%esi)
407a38:	59                   	pop    %ecx
407a39:	8b c7                	mov    %edi,%eax
407a3b:	eb d2                	jmp    0x407a0f
407a3d:	55                   	push   %ebp
407a3e:	8b ec                	mov    %esp,%ebp
407a40:	83 ec 08             	sub    $0x8,%esp
407a43:	89 7d fc             	mov    %edi,-0x4(%ebp)
407a46:	89 75 f8             	mov    %esi,-0x8(%ebp)
407a49:	8b 75 0c             	mov    0xc(%ebp),%esi
407a4c:	8b 7d 08             	mov    0x8(%ebp),%edi
407a4f:	8b 4d 10             	mov    0x10(%ebp),%ecx
407a52:	c1 e9 07             	shr    $0x7,%ecx
407a55:	eb 06                	jmp    0x407a5d
407a57:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
407a5d:	66 0f 6f 06          	movdqa (%esi),%xmm0
407a61:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
407a66:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
407a6b:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
407a70:	66 0f 7f 07          	movdqa %xmm0,(%edi)
407a74:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
407a79:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
407a7e:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
407a83:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
407a88:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
407a8d:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
407a92:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
407a97:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
407a9c:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
407aa1:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
407aa6:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
407aab:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
407ab1:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
407ab7:	49                   	dec    %ecx
407ab8:	75 a3                	jne    0x407a5d
407aba:	8b 75 f8             	mov    -0x8(%ebp),%esi
407abd:	8b 7d fc             	mov    -0x4(%ebp),%edi
407ac0:	8b e5                	mov    %ebp,%esp
407ac2:	5d                   	pop    %ebp
407ac3:	c3                   	ret
407ac4:	55                   	push   %ebp
407ac5:	8b ec                	mov    %esp,%ebp
407ac7:	83 ec 1c             	sub    $0x1c,%esp
407aca:	89 7d f4             	mov    %edi,-0xc(%ebp)
407acd:	89 75 f8             	mov    %esi,-0x8(%ebp)
407ad0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
407ad3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407ad6:	8b c3                	mov    %ebx,%eax
407ad8:	99                   	cltd
407ad9:	8b c8                	mov    %eax,%ecx
407adb:	8b 45 08             	mov    0x8(%ebp),%eax
407ade:	33 ca                	xor    %edx,%ecx
407ae0:	2b ca                	sub    %edx,%ecx
407ae2:	83 e1 0f             	and    $0xf,%ecx
407ae5:	33 ca                	xor    %edx,%ecx
407ae7:	2b ca                	sub    %edx,%ecx
407ae9:	99                   	cltd
407aea:	8b f8                	mov    %eax,%edi
407aec:	33 fa                	xor    %edx,%edi
407aee:	2b fa                	sub    %edx,%edi
407af0:	83 e7 0f             	and    $0xf,%edi
407af3:	33 fa                	xor    %edx,%edi
407af5:	2b fa                	sub    %edx,%edi
407af7:	8b d1                	mov    %ecx,%edx
407af9:	0b d7                	or     %edi,%edx
407afb:	75 4a                	jne    0x407b47
407afd:	8b 75 10             	mov    0x10(%ebp),%esi
407b00:	8b ce                	mov    %esi,%ecx
407b02:	83 e1 7f             	and    $0x7f,%ecx
407b05:	89 4d e8             	mov    %ecx,-0x18(%ebp)
407b08:	3b f1                	cmp    %ecx,%esi
407b0a:	74 13                	je     0x407b1f
407b0c:	2b f1                	sub    %ecx,%esi
407b0e:	56                   	push   %esi
407b0f:	53                   	push   %ebx
407b10:	50                   	push   %eax
407b11:	e8 27 ff ff ff       	call   0x407a3d
407b16:	83 c4 0c             	add    $0xc,%esp
407b19:	8b 45 08             	mov    0x8(%ebp),%eax
407b1c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407b1f:	85 c9                	test   %ecx,%ecx
407b21:	74 77                	je     0x407b9a
407b23:	8b 5d 10             	mov    0x10(%ebp),%ebx
407b26:	8b 55 0c             	mov    0xc(%ebp),%edx
407b29:	03 d3                	add    %ebx,%edx
407b2b:	2b d1                	sub    %ecx,%edx
407b2d:	89 55 ec             	mov    %edx,-0x14(%ebp)
407b30:	03 d8                	add    %eax,%ebx
407b32:	2b d9                	sub    %ecx,%ebx
407b34:	89 5d f0             	mov    %ebx,-0x10(%ebp)
407b37:	8b 75 ec             	mov    -0x14(%ebp),%esi
407b3a:	8b 7d f0             	mov    -0x10(%ebp),%edi
407b3d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407b40:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
407b42:	8b 45 08             	mov    0x8(%ebp),%eax
407b45:	eb 53                	jmp    0x407b9a
407b47:	3b cf                	cmp    %edi,%ecx
407b49:	75 35                	jne    0x407b80
407b4b:	f7 d9                	neg    %ecx
407b4d:	83 c1 10             	add    $0x10,%ecx
407b50:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
407b53:	8b 75 0c             	mov    0xc(%ebp),%esi
407b56:	8b 7d 08             	mov    0x8(%ebp),%edi
407b59:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
407b5c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
407b5e:	8b 4d 08             	mov    0x8(%ebp),%ecx
407b61:	03 4d e4             	add    -0x1c(%ebp),%ecx
407b64:	8b 55 0c             	mov    0xc(%ebp),%edx
407b67:	03 55 e4             	add    -0x1c(%ebp),%edx
407b6a:	8b 45 10             	mov    0x10(%ebp),%eax
407b6d:	2b 45 e4             	sub    -0x1c(%ebp),%eax
407b70:	50                   	push   %eax
407b71:	52                   	push   %edx
407b72:	51                   	push   %ecx
407b73:	e8 4c ff ff ff       	call   0x407ac4
407b78:	83 c4 0c             	add    $0xc,%esp
407b7b:	8b 45 08             	mov    0x8(%ebp),%eax
407b7e:	eb 1a                	jmp    0x407b9a
407b80:	8b 75 0c             	mov    0xc(%ebp),%esi
407b83:	8b 7d 08             	mov    0x8(%ebp),%edi
407b86:	8b 4d 10             	mov    0x10(%ebp),%ecx
407b89:	8b d1                	mov    %ecx,%edx
407b8b:	c1 e9 02             	shr    $0x2,%ecx
407b8e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
407b90:	8b ca                	mov    %edx,%ecx
407b92:	83 e1 03             	and    $0x3,%ecx
407b95:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
407b97:	8b 45 08             	mov    0x8(%ebp),%eax
407b9a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
407b9d:	8b 75 f8             	mov    -0x8(%ebp),%esi
407ba0:	8b 7d f4             	mov    -0xc(%ebp),%edi
407ba3:	8b e5                	mov    %ebp,%esp
407ba5:	5d                   	pop    %ebp
407ba6:	c3                   	ret
407ba7:	8b ff                	mov    %edi,%edi
407ba9:	55                   	push   %ebp
407baa:	8b ec                	mov    %esp,%ebp
407bac:	56                   	push   %esi
407bad:	8b 75 08             	mov    0x8(%ebp),%esi
407bb0:	85 f6                	test   %esi,%esi
407bb2:	0f 84 81 01 00 00    	je     0x407d39
407bb8:	ff 76 04             	push   0x4(%esi)
407bbb:	e8 e3 d1 ff ff       	call   0x404da3
407bc0:	ff 76 08             	push   0x8(%esi)
407bc3:	e8 db d1 ff ff       	call   0x404da3
407bc8:	ff 76 0c             	push   0xc(%esi)
407bcb:	e8 d3 d1 ff ff       	call   0x404da3
407bd0:	ff 76 10             	push   0x10(%esi)
407bd3:	e8 cb d1 ff ff       	call   0x404da3
407bd8:	ff 76 14             	push   0x14(%esi)
407bdb:	e8 c3 d1 ff ff       	call   0x404da3
407be0:	ff 76 18             	push   0x18(%esi)
407be3:	e8 bb d1 ff ff       	call   0x404da3
407be8:	ff 36                	push   (%esi)
407bea:	e8 b4 d1 ff ff       	call   0x404da3
407bef:	ff 76 20             	push   0x20(%esi)
407bf2:	e8 ac d1 ff ff       	call   0x404da3
407bf7:	ff 76 24             	push   0x24(%esi)
407bfa:	e8 a4 d1 ff ff       	call   0x404da3
407bff:	ff 76 28             	push   0x28(%esi)
407c02:	e8 9c d1 ff ff       	call   0x404da3
407c07:	ff 76 2c             	push   0x2c(%esi)
407c0a:	e8 94 d1 ff ff       	call   0x404da3
407c0f:	ff 76 30             	push   0x30(%esi)
407c12:	e8 8c d1 ff ff       	call   0x404da3
407c17:	ff 76 34             	push   0x34(%esi)
407c1a:	e8 84 d1 ff ff       	call   0x404da3
407c1f:	ff 76 1c             	push   0x1c(%esi)
407c22:	e8 7c d1 ff ff       	call   0x404da3
407c27:	ff 76 38             	push   0x38(%esi)
407c2a:	e8 74 d1 ff ff       	call   0x404da3
407c2f:	ff 76 3c             	push   0x3c(%esi)
407c32:	e8 6c d1 ff ff       	call   0x404da3
407c37:	83 c4 40             	add    $0x40,%esp
407c3a:	ff 76 40             	push   0x40(%esi)
407c3d:	e8 61 d1 ff ff       	call   0x404da3
407c42:	ff 76 44             	push   0x44(%esi)
407c45:	e8 59 d1 ff ff       	call   0x404da3
407c4a:	ff 76 48             	push   0x48(%esi)
407c4d:	e8 51 d1 ff ff       	call   0x404da3
407c52:	ff 76 4c             	push   0x4c(%esi)
407c55:	e8 49 d1 ff ff       	call   0x404da3
407c5a:	ff 76 50             	push   0x50(%esi)
407c5d:	e8 41 d1 ff ff       	call   0x404da3
407c62:	ff 76 54             	push   0x54(%esi)
407c65:	e8 39 d1 ff ff       	call   0x404da3
407c6a:	ff 76 58             	push   0x58(%esi)
407c6d:	e8 31 d1 ff ff       	call   0x404da3
407c72:	ff 76 5c             	push   0x5c(%esi)
407c75:	e8 29 d1 ff ff       	call   0x404da3
407c7a:	ff 76 60             	push   0x60(%esi)
407c7d:	e8 21 d1 ff ff       	call   0x404da3
407c82:	ff 76 64             	push   0x64(%esi)
407c85:	e8 19 d1 ff ff       	call   0x404da3
407c8a:	ff 76 68             	push   0x68(%esi)
407c8d:	e8 11 d1 ff ff       	call   0x404da3
407c92:	ff 76 6c             	push   0x6c(%esi)
407c95:	e8 09 d1 ff ff       	call   0x404da3
407c9a:	ff 76 70             	push   0x70(%esi)
407c9d:	e8 01 d1 ff ff       	call   0x404da3
407ca2:	ff 76 74             	push   0x74(%esi)
407ca5:	e8 f9 d0 ff ff       	call   0x404da3
407caa:	ff 76 78             	push   0x78(%esi)
407cad:	e8 f1 d0 ff ff       	call   0x404da3
407cb2:	ff 76 7c             	push   0x7c(%esi)
407cb5:	e8 e9 d0 ff ff       	call   0x404da3
407cba:	83 c4 40             	add    $0x40,%esp
407cbd:	ff b6 80 00 00 00    	push   0x80(%esi)
407cc3:	e8 db d0 ff ff       	call   0x404da3
407cc8:	ff b6 84 00 00 00    	push   0x84(%esi)
407cce:	e8 d0 d0 ff ff       	call   0x404da3
407cd3:	ff b6 88 00 00 00    	push   0x88(%esi)
407cd9:	e8 c5 d0 ff ff       	call   0x404da3
407cde:	ff b6 8c 00 00 00    	push   0x8c(%esi)
407ce4:	e8 ba d0 ff ff       	call   0x404da3
407ce9:	ff b6 90 00 00 00    	push   0x90(%esi)
407cef:	e8 af d0 ff ff       	call   0x404da3
407cf4:	ff b6 94 00 00 00    	push   0x94(%esi)
407cfa:	e8 a4 d0 ff ff       	call   0x404da3
407cff:	ff b6 98 00 00 00    	push   0x98(%esi)
407d05:	e8 99 d0 ff ff       	call   0x404da3
407d0a:	ff b6 9c 00 00 00    	push   0x9c(%esi)
407d10:	e8 8e d0 ff ff       	call   0x404da3
407d15:	ff b6 a0 00 00 00    	push   0xa0(%esi)
407d1b:	e8 83 d0 ff ff       	call   0x404da3
407d20:	ff b6 a4 00 00 00    	push   0xa4(%esi)
407d26:	e8 78 d0 ff ff       	call   0x404da3
407d2b:	ff b6 a8 00 00 00    	push   0xa8(%esi)
407d31:	e8 6d d0 ff ff       	call   0x404da3
407d36:	83 c4 2c             	add    $0x2c,%esp
407d39:	5e                   	pop    %esi
407d3a:	5d                   	pop    %ebp
407d3b:	c3                   	ret
407d3c:	8b ff                	mov    %edi,%edi
407d3e:	55                   	push   %ebp
407d3f:	8b ec                	mov    %esp,%ebp
407d41:	56                   	push   %esi
407d42:	8b 75 08             	mov    0x8(%ebp),%esi
407d45:	85 f6                	test   %esi,%esi
407d47:	74 35                	je     0x407d7e
407d49:	8b 06                	mov    (%esi),%eax
407d4b:	3b 05 20 fc 41 00    	cmp    0x41fc20,%eax
407d51:	74 07                	je     0x407d5a
407d53:	50                   	push   %eax
407d54:	e8 4a d0 ff ff       	call   0x404da3
407d59:	59                   	pop    %ecx
407d5a:	8b 46 04             	mov    0x4(%esi),%eax
407d5d:	3b 05 24 fc 41 00    	cmp    0x41fc24,%eax
407d63:	74 07                	je     0x407d6c
407d65:	50                   	push   %eax
407d66:	e8 38 d0 ff ff       	call   0x404da3
407d6b:	59                   	pop    %ecx
407d6c:	8b 76 08             	mov    0x8(%esi),%esi
407d6f:	3b 35 28 fc 41 00    	cmp    0x41fc28,%esi
407d75:	74 07                	je     0x407d7e
407d77:	56                   	push   %esi
407d78:	e8 26 d0 ff ff       	call   0x404da3
407d7d:	59                   	pop    %ecx
407d7e:	5e                   	pop    %esi
407d7f:	5d                   	pop    %ebp
407d80:	c3                   	ret
407d81:	8b ff                	mov    %edi,%edi
407d83:	55                   	push   %ebp
407d84:	8b ec                	mov    %esp,%ebp
407d86:	56                   	push   %esi
407d87:	8b 75 08             	mov    0x8(%ebp),%esi
407d8a:	85 f6                	test   %esi,%esi
407d8c:	74 7e                	je     0x407e0c
407d8e:	8b 46 0c             	mov    0xc(%esi),%eax
407d91:	3b 05 2c fc 41 00    	cmp    0x41fc2c,%eax
407d97:	74 07                	je     0x407da0
407d99:	50                   	push   %eax
407d9a:	e8 04 d0 ff ff       	call   0x404da3
407d9f:	59                   	pop    %ecx
407da0:	8b 46 10             	mov    0x10(%esi),%eax
407da3:	3b 05 30 fc 41 00    	cmp    0x41fc30,%eax
407da9:	74 07                	je     0x407db2
407dab:	50                   	push   %eax
407dac:	e8 f2 cf ff ff       	call   0x404da3
407db1:	59                   	pop    %ecx
407db2:	8b 46 14             	mov    0x14(%esi),%eax
407db5:	3b 05 34 fc 41 00    	cmp    0x41fc34,%eax
407dbb:	74 07                	je     0x407dc4
407dbd:	50                   	push   %eax
407dbe:	e8 e0 cf ff ff       	call   0x404da3
407dc3:	59                   	pop    %ecx
407dc4:	8b 46 18             	mov    0x18(%esi),%eax
407dc7:	3b 05 38 fc 41 00    	cmp    0x41fc38,%eax
407dcd:	74 07                	je     0x407dd6
407dcf:	50                   	push   %eax
407dd0:	e8 ce cf ff ff       	call   0x404da3
407dd5:	59                   	pop    %ecx
407dd6:	8b 46 1c             	mov    0x1c(%esi),%eax
407dd9:	3b 05 3c fc 41 00    	cmp    0x41fc3c,%eax
407ddf:	74 07                	je     0x407de8
407de1:	50                   	push   %eax
407de2:	e8 bc cf ff ff       	call   0x404da3
407de7:	59                   	pop    %ecx
407de8:	8b 46 20             	mov    0x20(%esi),%eax
407deb:	3b 05 40 fc 41 00    	cmp    0x41fc40,%eax
407df1:	74 07                	je     0x407dfa
407df3:	50                   	push   %eax
407df4:	e8 aa cf ff ff       	call   0x404da3
407df9:	59                   	pop    %ecx
407dfa:	8b 76 24             	mov    0x24(%esi),%esi
407dfd:	3b 35 44 fc 41 00    	cmp    0x41fc44,%esi
407e03:	74 07                	je     0x407e0c
407e05:	56                   	push   %esi
407e06:	e8 98 cf ff ff       	call   0x404da3
407e0b:	59                   	pop    %ecx
407e0c:	5e                   	pop    %esi
407e0d:	5d                   	pop    %ebp
407e0e:	c3                   	ret
407e0f:	cc                   	int3
407e10:	55                   	push   %ebp
407e11:	8b ec                	mov    %esp,%ebp
407e13:	56                   	push   %esi
407e14:	33 c0                	xor    %eax,%eax
407e16:	50                   	push   %eax
407e17:	50                   	push   %eax
407e18:	50                   	push   %eax
407e19:	50                   	push   %eax
407e1a:	50                   	push   %eax
407e1b:	50                   	push   %eax
407e1c:	50                   	push   %eax
407e1d:	50                   	push   %eax
407e1e:	8b 55 0c             	mov    0xc(%ebp),%edx
407e21:	8d 49 00             	lea    0x0(%ecx),%ecx