41979a:	ff 75 d0             	push   -0x30(%ebp)
41979d:	8b 76 10             	mov    0x10(%esi),%esi
4197a0:	52                   	push   %edx
4197a1:	50                   	push   %eax
4197a2:	8b d6                	mov    %esi,%edx
4197a4:	e8 17 27 ff ff       	call   0x40bec0
4197a9:	8b c8                	mov    %eax,%ecx
4197ab:	83 c4 0c             	add    $0xc,%esp
4197ae:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4197b1:	e9 fd fe ff ff       	jmp    0x4196b3
4197b6:	85 f6                	test   %esi,%esi
4197b8:	0f 84 b0 00 00 00    	je     0x41986e
4197be:	8b 45 c0             	mov    -0x40(%ebp),%eax
4197c1:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
4197c8:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
4197cf:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4197d6:	3b f0                	cmp    %eax,%esi
4197d8:	0f 82 fc 00 00 00    	jb     0x4198da
4197de:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4197e1:	2b f0                	sub    %eax,%esi
4197e3:	83 ca ff             	or     $0xffffffff,%edx
4197e6:	83 fe ff             	cmp    $0xffffffff,%esi
4197e9:	0f 42 d6             	cmovb  %esi,%edx
4197ec:	83 7d c8 08          	cmpl   $0x8,-0x38(%ebp)
4197f0:	72 02                	jb     0x4197f4
4197f2:	8b 09                	mov    (%ecx),%ecx
4197f4:	8d 04 41             	lea    (%ecx,%eax,2),%eax
4197f7:	52                   	push   %edx
4197f8:	50                   	push   %eax
4197f9:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4197fc:	e8 0f 8d fe ff       	call   0x402510
419801:	8b 45 e8             	mov    -0x18(%ebp),%eax
419804:	83 f8 08             	cmp    $0x8,%eax
419807:	72 32                	jb     0x41983b
419809:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41980c:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
419813:	8b c2                	mov    %edx,%eax
419815:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41981b:	72 14                	jb     0x419831
41981d:	8b 50 fc             	mov    -0x4(%eax),%edx
419820:	83 c1 23             	add    $0x23,%ecx
419823:	2b c2                	sub    %edx,%eax
419825:	83 c0 fc             	add    $0xfffffffc,%eax
419828:	83 f8 1f             	cmp    $0x1f,%eax
41982b:	0f 87 ae 00 00 00    	ja     0x4198df
419831:	51                   	push   %ecx
419832:	52                   	push   %edx
419833:	e8 d6 20 00 00       	call   0x41b90e
419838:	83 c4 08             	add    $0x8,%esp
41983b:	0f 10 45 a4          	movups -0x5c(%ebp),%xmm0
41983f:	8b 47 04             	mov    0x4(%edi),%eax
419842:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
419845:	51                   	push   %ecx
419846:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
41984a:	f3 0f 7e 45 b4       	movq   -0x4c(%ebp),%xmm0
41984f:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
419854:	3b 47 08             	cmp    0x8(%edi),%eax
419857:	74 0d                	je     0x419866
419859:	8b c8                	mov    %eax,%ecx
41985b:	e8 60 8a fe ff       	call   0x4022c0
419860:	83 47 04 18          	addl   $0x18,0x4(%edi)
419864:	eb 08                	jmp    0x41986e
419866:	50                   	push   %eax
419867:	8b cf                	mov    %edi,%ecx
419869:	e8 e2 37 ff ff       	call   0x40d050
41986e:	8b 4f 04             	mov    0x4(%edi),%ecx
419871:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
419876:	2b 0f                	sub    (%edi),%ecx
419878:	f7 e9                	imul   %ecx
41987a:	8b 45 e8             	mov    -0x18(%ebp),%eax
41987d:	c1 fa 02             	sar    $0x2,%edx
419880:	8b f2                	mov    %edx,%esi
419882:	c1 ee 1f             	shr    $0x1f,%esi
419885:	03 f2                	add    %edx,%esi
419887:	83 f8 08             	cmp    $0x8,%eax
41988a:	72 2e                	jb     0x4198ba
41988c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41988f:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
419896:	8b c2                	mov    %edx,%eax
419898:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41989e:	72 10                	jb     0x4198b0
4198a0:	8b 50 fc             	mov    -0x4(%eax),%edx
4198a3:	83 c1 23             	add    $0x23,%ecx
4198a6:	2b c2                	sub    %edx,%eax
4198a8:	83 c0 fc             	add    $0xfffffffc,%eax
4198ab:	83 f8 1f             	cmp    $0x1f,%eax
4198ae:	77 2f                	ja     0x4198df
4198b0:	51                   	push   %ecx
4198b1:	52                   	push   %edx
4198b2:	e8 57 20 00 00       	call   0x41b90e
4198b7:	83 c4 08             	add    $0x8,%esp
4198ba:	8b c6                	mov    %esi,%eax
4198bc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4198bf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4198c6:	59                   	pop    %ecx
4198c7:	5f                   	pop    %edi
4198c8:	5e                   	pop    %esi
4198c9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4198cc:	33 cd                	xor    %ebp,%ecx
4198ce:	e8 fd 1f 00 00       	call   0x41b8d0
4198d3:	8b e5                	mov    %ebp,%esp
4198d5:	5d                   	pop    %ebp
4198d6:	8b e3                	mov    %ebx,%esp
4198d8:	5b                   	pop    %ebx
4198d9:	c3                   	ret
4198da:	e8 f1 1f ff ff       	call   0x40b8d0
4198df:	e8 9b 71 00 00       	call   0x420a7f
4198e4:	cc                   	int3
4198e5:	cc                   	int3
4198e6:	cc                   	int3
4198e7:	cc                   	int3
4198e8:	cc                   	int3
4198e9:	cc                   	int3
4198ea:	cc                   	int3
4198eb:	cc                   	int3
4198ec:	cc                   	int3
4198ed:	cc                   	int3
4198ee:	cc                   	int3
4198ef:	cc                   	int3
4198f0:	55                   	push   %ebp
4198f1:	8b ec                	mov    %esp,%ebp
4198f3:	56                   	push   %esi
4198f4:	8b f1                	mov    %ecx,%esi
4198f6:	0f 57 c0             	xorps  %xmm0,%xmm0
4198f9:	8d 46 04             	lea    0x4(%esi),%eax
4198fc:	50                   	push   %eax
4198fd:	c7 06 44 f8 43 00    	movl   $0x43f844,(%esi)
419903:	66 0f d6 00          	movq   %xmm0,(%eax)
419907:	8b 45 08             	mov    0x8(%ebp),%eax
41990a:	83 c0 04             	add    $0x4,%eax
41990d:	50                   	push   %eax
41990e:	e8 f8 35 00 00       	call   0x41cf0b
419913:	83 c4 08             	add    $0x8,%esp
419916:	c7 06 6c f8 43 00    	movl   $0x43f86c,(%esi)
41991c:	8b c6                	mov    %esi,%eax
41991e:	5e                   	pop    %esi
41991f:	5d                   	pop    %ebp
419920:	c2 04 00             	ret    $0x4
419923:	cc                   	int3
419924:	cc                   	int3
419925:	cc                   	int3
419926:	cc                   	int3
419927:	cc                   	int3
419928:	cc                   	int3
419929:	cc                   	int3
41992a:	cc                   	int3
41992b:	cc                   	int3
41992c:	cc                   	int3
41992d:	cc                   	int3
41992e:	cc                   	int3
41992f:	cc                   	int3
419930:	55                   	push   %ebp
419931:	8b ec                	mov    %esp,%ebp
419933:	6a ff                	push   $0xffffffff
419935:	68 45 e7 43 00       	push   $0x43e745
41993a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
419940:	50                   	push   %eax
419941:	83 ec 68             	sub    $0x68,%esp
419944:	a1 14 40 45 00       	mov    0x454014,%eax
419949:	33 c5                	xor    %ebp,%eax
41994b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41994e:	53                   	push   %ebx
41994f:	56                   	push   %esi
419950:	57                   	push   %edi
419951:	50                   	push   %eax
419952:	8d 45 f4             	lea    -0xc(%ebp),%eax
419955:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41995b:	8b f1                	mov    %ecx,%esi
41995d:	56                   	push   %esi
41995e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419961:	e8 5a 89 fe ff       	call   0x4022c0
419966:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419969:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
419970:	e8 bb b0 ff ff       	call   0x414a30
419975:	33 c0                	xor    %eax,%eax
419977:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
41997e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
419985:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
41998c:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
419990:	8d 4d d8             	lea    -0x28(%ebp),%ecx
419993:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
419997:	e8 a4 ad ff ff       	call   0x414740
41999c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41999f:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4199a4:	2b c1                	sub    %ecx,%eax
4199a6:	83 f8 01             	cmp    $0x1,%eax
4199a9:	0f 82 db 01 00 00    	jb     0x419b8a
4199af:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4199b3:	8d 45 d8             	lea    -0x28(%ebp),%eax
4199b6:	51                   	push   %ecx
4199b7:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4199bb:	50                   	push   %eax
4199bc:	6a 01                	push   $0x1
4199be:	68 08 dc 44 00       	push   $0x44dc08
4199c3:	51                   	push   %ecx
4199c4:	ff 75 a4             	push   -0x5c(%ebp)
4199c7:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
4199ca:	e8 a1 34 ff ff       	call   0x40ce70
4199cf:	8d 45 8c             	lea    -0x74(%ebp),%eax
4199d2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4199d6:	50                   	push   %eax
4199d7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4199da:	e8 11 0d ff ff       	call   0x40a6f0
4199df:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4199e3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
4199e6:	83 f9 08             	cmp    $0x8,%ecx
4199e9:	72 32                	jb     0x419a1d
4199eb:	8b 55 8c             	mov    -0x74(%ebp),%edx
4199ee:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4199f5:	8b c2                	mov    %edx,%eax
4199f7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4199fd:	72 14                	jb     0x419a13
4199ff:	8b 50 fc             	mov    -0x4(%eax),%edx
419a02:	83 c1 23             	add    $0x23,%ecx
419a05:	2b c2                	sub    %edx,%eax
419a07:	83 c0 fc             	add    $0xfffffffc,%eax
419a0a:	83 f8 1f             	cmp    $0x1f,%eax
419a0d:	0f 87 7c 01 00 00    	ja     0x419b8f
419a13:	51                   	push   %ecx
419a14:	52                   	push   %edx
419a15:	e8 f4 1e 00 00       	call   0x41b90e
419a1a:	83 c4 08             	add    $0x8,%esp
419a1d:	33 c0                	xor    %eax,%eax
419a1f:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
419a26:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
419a2d:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
419a34:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
419a38:	8d 55 c0             	lea    -0x40(%ebp),%edx
419a3b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
419a3f:	8b ce                	mov    %esi,%ecx
419a41:	e8 7a b3 ff ff       	call   0x414dc0
419a46:	8d 55 c0             	lea    -0x40(%ebp),%edx
419a49:	8d 4d a8             	lea    -0x58(%ebp),%ecx
419a4c:	e8 af b0 ff ff       	call   0x414b00
419a51:	8d 45 a8             	lea    -0x58(%ebp),%eax
419a54:	3b f0                	cmp    %eax,%esi
419a56:	74 46                	je     0x419a9e
419a58:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
419a5c:	8b c8                	mov    %eax,%ecx
419a5e:	8b 7d b8             	mov    -0x48(%ebp),%edi
419a61:	0f 43 4d a8          	cmovae -0x58(%ebp),%ecx
419a65:	8b 46 14             	mov    0x14(%esi),%eax
419a68:	3b f8                	cmp    %eax,%edi
419a6a:	77 22                	ja     0x419a8e
419a6c:	8b de                	mov    %esi,%ebx
419a6e:	83 f8 08             	cmp    $0x8,%eax
419a71:	72 02                	jb     0x419a75
419a73:	8b 1e                	mov    (%esi),%ebx
419a75:	8d 04 3f             	lea    (%edi,%edi,1),%eax
419a78:	89 7e 10             	mov    %edi,0x10(%esi)
419a7b:	50                   	push   %eax
419a7c:	51                   	push   %ecx
419a7d:	53                   	push   %ebx
419a7e:	e8 cd 39 00 00       	call   0x41d450
419a83:	83 c4 0c             	add    $0xc,%esp
419a86:	33 c0                	xor    %eax,%eax
419a88:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
419a8c:	eb 10                	jmp    0x419a9e
419a8e:	51                   	push   %ecx
419a8f:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
419a93:	8b ce                	mov    %esi,%ecx
419a95:	ff 75 a4             	push   -0x5c(%ebp)
419a98:	57                   	push   %edi
419a99:	e8 72 8b fe ff       	call   0x402610
419a9e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
419aa1:	83 f9 08             	cmp    $0x8,%ecx
419aa4:	72 32                	jb     0x419ad8
419aa6:	8b 55 c0             	mov    -0x40(%ebp),%edx
419aa9:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
419ab0:	8b c2                	mov    %edx,%eax
419ab2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
419ab8:	72 14                	jb     0x419ace
419aba:	8b 50 fc             	mov    -0x4(%eax),%edx
419abd:	83 c1 23             	add    $0x23,%ecx
419ac0:	2b c2                	sub    %edx,%eax
419ac2:	83 c0 fc             	add    $0xfffffffc,%eax
419ac5:	83 f8 1f             	cmp    $0x1f,%eax
419ac8:	0f 87 c1 00 00 00    	ja     0x419b8f
419ace:	51                   	push   %ecx
419acf:	52                   	push   %edx
419ad0:	e8 39 1e 00 00       	call   0x41b90e
419ad5:	83 c4 08             	add    $0x8,%esp
419ad8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
419adb:	33 c0                	xor    %eax,%eax
419add:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
419ae4:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
419aeb:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
419aef:	83 f9 08             	cmp    $0x8,%ecx
419af2:	72 2e                	jb     0x419b22
419af4:	8b 55 d8             	mov    -0x28(%ebp),%edx
419af7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
419afe:	8b c2                	mov    %edx,%eax
419b00:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
419b06:	72 10                	jb     0x419b18
419b08:	8b 50 fc             	mov    -0x4(%eax),%edx
419b0b:	83 c1 23             	add    $0x23,%ecx
419b0e:	2b c2                	sub    %edx,%eax
419b10:	83 c0 fc             	add    $0xfffffffc,%eax
419b13:	83 f8 1f             	cmp    $0x1f,%eax
419b16:	77 77                	ja     0x419b8f
419b18:	51                   	push   %ecx
419b19:	52                   	push   %edx
419b1a:	e8 ef 1d 00 00       	call   0x41b90e
419b1f:	83 c4 08             	add    $0x8,%esp
419b22:	8b 4d bc             	mov    -0x44(%ebp),%ecx
419b25:	33 c0                	xor    %eax,%eax
419b27:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
419b2e:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
419b35:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
419b39:	83 f9 08             	cmp    $0x8,%ecx
419b3c:	72 2e                	jb     0x419b6c
419b3e:	8b 55 a8             	mov    -0x58(%ebp),%edx
419b41:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
419b48:	8b c2                	mov    %edx,%eax
419b4a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
419b50:	72 10                	jb     0x419b62
419b52:	8b 50 fc             	mov    -0x4(%eax),%edx
419b55:	83 c1 23             	add    $0x23,%ecx
419b58:	2b c2                	sub    %edx,%eax
419b5a:	83 c0 fc             	add    $0xfffffffc,%eax
419b5d:	83 f8 1f             	cmp    $0x1f,%eax
419b60:	77 2d                	ja     0x419b8f
419b62:	51                   	push   %ecx
419b63:	52                   	push   %edx
419b64:	e8 a5 1d 00 00       	call   0x41b90e
419b69:	83 c4 08             	add    $0x8,%esp
419b6c:	b0 01                	mov    $0x1,%al
419b6e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
419b71:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
419b78:	59                   	pop    %ecx
419b79:	5f                   	pop    %edi
419b7a:	5e                   	pop    %esi
419b7b:	5b                   	pop    %ebx
419b7c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
419b7f:	33 cd                	xor    %ebp,%ecx
419b81:	e8 4a 1d 00 00       	call   0x41b8d0
419b86:	8b e5                	mov    %ebp,%esp
419b88:	5d                   	pop    %ebp
419b89:	c3                   	ret
419b8a:	e8 11 77 fe ff       	call   0x4012a0
419b8f:	e8 eb 6e 00 00       	call   0x420a7f
419b94:	cc                   	int3
419b95:	cc                   	int3
419b96:	cc                   	int3
419b97:	cc                   	int3
419b98:	cc                   	int3
419b99:	cc                   	int3
419b9a:	cc                   	int3
419b9b:	cc                   	int3
419b9c:	cc                   	int3