4047ca:	8b c6                	mov    %esi,%eax
4047cc:	eb 63                	jmp    0x404831
4047ce:	8b 75 10             	mov    0x10(%ebp),%esi
4047d1:	3b 75 14             	cmp    0x14(%ebp),%esi
4047d4:	74 1a                	je     0x4047f0
4047d6:	ff 36                	push   (%esi)
4047d8:	e8 59 00 00 00       	call   0x404836
4047dd:	59                   	pop    %ecx
4047de:	85 c0                	test   %eax,%eax
4047e0:	75 2f                	jne    0x404811
4047e2:	83 c6 04             	add    $0x4,%esi
4047e5:	3b 75 14             	cmp    0x14(%ebp),%esi
4047e8:	75 ec                	jne    0x4047d6
4047ea:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
4047f0:	33 c0                	xor    %eax,%eax
4047f2:	85 c0                	test   %eax,%eax
4047f4:	74 29                	je     0x40481f
4047f6:	ff 75 0c             	push   0xc(%ebp)
4047f9:	50                   	push   %eax
4047fa:	ff 15 68 b0 41 00    	call   *0x41b068
404800:	8b f0                	mov    %eax,%esi
404802:	85 f6                	test   %esi,%esi
404804:	74 13                	je     0x404819
404806:	56                   	push   %esi
404807:	e8 b9 ea ff ff       	call   0x4032c5
40480c:	59                   	pop    %ecx
40480d:	87 03                	xchg   %eax,(%ebx)
40480f:	eb b9                	jmp    0x4047ca
404811:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
404817:	eb d9                	jmp    0x4047f2
404819:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
40481f:	8b c2                	mov    %edx,%eax
404821:	6a 20                	push   $0x20
404823:	83 e0 1f             	and    $0x1f,%eax
404826:	59                   	pop    %ecx
404827:	2b c8                	sub    %eax,%ecx
404829:	d3 cf                	ror    %cl,%edi
40482b:	33 fa                	xor    %edx,%edi
40482d:	87 3b                	xchg   %edi,(%ebx)
40482f:	33 c0                	xor    %eax,%eax
404831:	5f                   	pop    %edi
404832:	5e                   	pop    %esi
404833:	5b                   	pop    %ebx
404834:	5d                   	pop    %ebp
404835:	c3                   	ret
404836:	55                   	push   %ebp
404837:	8b ec                	mov    %esp,%ebp
404839:	53                   	push   %ebx
40483a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40483d:	33 c9                	xor    %ecx,%ecx
40483f:	57                   	push   %edi
404840:	33 c0                	xor    %eax,%eax
404842:	8d 3c 9d 74 3e 42 00 	lea    0x423e74(,%ebx,4),%edi
404849:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
40484d:	8b c8                	mov    %eax,%ecx
40484f:	85 c9                	test   %ecx,%ecx
404851:	74 0b                	je     0x40485e
404853:	8d 41 01             	lea    0x1(%ecx),%eax
404856:	f7 d8                	neg    %eax
404858:	1b c0                	sbb    %eax,%eax
40485a:	23 c1                	and    %ecx,%eax
40485c:	eb 55                	jmp    0x4048b3
40485e:	8b 1c 9d a4 b3 41 00 	mov    0x41b3a4(,%ebx,4),%ebx
404865:	56                   	push   %esi
404866:	68 00 08 00 00       	push   $0x800
40486b:	6a 00                	push   $0x0
40486d:	53                   	push   %ebx
40486e:	ff 15 a0 b0 41 00    	call   *0x41b0a0
404874:	8b f0                	mov    %eax,%esi
404876:	85 f6                	test   %esi,%esi
404878:	75 27                	jne    0x4048a1
40487a:	ff 15 48 b0 41 00    	call   *0x41b048
404880:	83 f8 57             	cmp    $0x57,%eax
404883:	75 0d                	jne    0x404892
404885:	56                   	push   %esi
404886:	56                   	push   %esi
404887:	53                   	push   %ebx
404888:	ff 15 a0 b0 41 00    	call   *0x41b0a0
40488e:	8b f0                	mov    %eax,%esi
404890:	eb 02                	jmp    0x404894
404892:	33 f6                	xor    %esi,%esi
404894:	85 f6                	test   %esi,%esi
404896:	75 09                	jne    0x4048a1
404898:	83 c8 ff             	or     $0xffffffff,%eax
40489b:	87 07                	xchg   %eax,(%edi)
40489d:	33 c0                	xor    %eax,%eax
40489f:	eb 11                	jmp    0x4048b2
4048a1:	8b c6                	mov    %esi,%eax
4048a3:	87 07                	xchg   %eax,(%edi)
4048a5:	85 c0                	test   %eax,%eax
4048a7:	74 07                	je     0x4048b0
4048a9:	56                   	push   %esi
4048aa:	ff 15 04 b1 41 00    	call   *0x41b104
4048b0:	8b c6                	mov    %esi,%eax
4048b2:	5e                   	pop    %esi
4048b3:	5f                   	pop    %edi
4048b4:	5b                   	pop    %ebx
4048b5:	5d                   	pop    %ebp
4048b6:	c3                   	ret
4048b7:	55                   	push   %ebp
4048b8:	8b ec                	mov    %esp,%ebp
4048ba:	56                   	push   %esi
4048bb:	68 5c b4 41 00       	push   $0x41b45c
4048c0:	68 54 b4 41 00       	push   $0x41b454
4048c5:	68 5c b4 41 00       	push   $0x41b45c
4048ca:	6a 04                	push   $0x4
4048cc:	e8 c5 fe ff ff       	call   0x404796
4048d1:	8b f0                	mov    %eax,%esi
4048d3:	83 c4 10             	add    $0x10,%esp
4048d6:	85 f6                	test   %esi,%esi
4048d8:	74 0f                	je     0x4048e9
4048da:	ff 75 08             	push   0x8(%ebp)
4048dd:	8b ce                	mov    %esi,%ecx
4048df:	e8 61 f2 ff ff       	call   0x403b45
4048e4:	ff d6                	call   *%esi
4048e6:	5e                   	pop    %esi
4048e7:	5d                   	pop    %ebp
4048e8:	c3                   	ret
4048e9:	5e                   	pop    %esi
4048ea:	5d                   	pop    %ebp
4048eb:	ff 25 f4 b0 41 00    	jmp    *0x41b0f4
4048f1:	55                   	push   %ebp
4048f2:	8b ec                	mov    %esp,%ebp
4048f4:	56                   	push   %esi
4048f5:	68 70 b4 41 00       	push   $0x41b470
4048fa:	68 68 b4 41 00       	push   $0x41b468
4048ff:	68 70 b4 41 00       	push   $0x41b470
404904:	6a 05                	push   $0x5
404906:	e8 8b fe ff ff       	call   0x404796
40490b:	83 c4 10             	add    $0x10,%esp
40490e:	8b f0                	mov    %eax,%esi
404910:	ff 75 08             	push   0x8(%ebp)
404913:	85 f6                	test   %esi,%esi
404915:	74 0b                	je     0x404922
404917:	8b ce                	mov    %esi,%ecx
404919:	e8 27 f2 ff ff       	call   0x403b45
40491e:	ff d6                	call   *%esi
404920:	eb 06                	jmp    0x404928
404922:	ff 15 00 b1 41 00    	call   *0x41b100
404928:	5e                   	pop    %esi
404929:	5d                   	pop    %ebp
40492a:	c3                   	ret
40492b:	55                   	push   %ebp
40492c:	8b ec                	mov    %esp,%ebp
40492e:	56                   	push   %esi
40492f:	68 80 b4 41 00       	push   $0x41b480
404934:	68 78 b4 41 00       	push   $0x41b478
404939:	68 80 b4 41 00       	push   $0x41b480
40493e:	6a 06                	push   $0x6
404940:	e8 51 fe ff ff       	call   0x404796
404945:	83 c4 10             	add    $0x10,%esp
404948:	8b f0                	mov    %eax,%esi
40494a:	ff 75 08             	push   0x8(%ebp)
40494d:	85 f6                	test   %esi,%esi
40494f:	74 0b                	je     0x40495c
404951:	8b ce                	mov    %esi,%ecx
404953:	e8 ed f1 ff ff       	call   0x403b45
404958:	ff d6                	call   *%esi
40495a:	eb 06                	jmp    0x404962
40495c:	ff 15 f8 b0 41 00    	call   *0x41b0f8
404962:	5e                   	pop    %esi
404963:	5d                   	pop    %ebp
404964:	c3                   	ret
404965:	55                   	push   %ebp
404966:	8b ec                	mov    %esp,%ebp
404968:	56                   	push   %esi
404969:	68 94 b4 41 00       	push   $0x41b494
40496e:	68 8c b4 41 00       	push   $0x41b48c
404973:	68 94 b4 41 00       	push   $0x41b494
404978:	6a 07                	push   $0x7
40497a:	e8 17 fe ff ff       	call   0x404796
40497f:	83 c4 10             	add    $0x10,%esp
404982:	8b f0                	mov    %eax,%esi
404984:	ff 75 0c             	push   0xc(%ebp)
404987:	ff 75 08             	push   0x8(%ebp)
40498a:	85 f6                	test   %esi,%esi
40498c:	74 0b                	je     0x404999
40498e:	8b ce                	mov    %esi,%ecx
404990:	e8 b0 f1 ff ff       	call   0x403b45
404995:	ff d6                	call   *%esi
404997:	eb 06                	jmp    0x40499f
404999:	ff 15 fc b0 41 00    	call   *0x41b0fc
40499f:	5e                   	pop    %esi
4049a0:	5d                   	pop    %ebp
4049a1:	c3                   	ret
4049a2:	55                   	push   %ebp
4049a3:	8b ec                	mov    %esp,%ebp
4049a5:	56                   	push   %esi
4049a6:	68 a8 b4 41 00       	push   $0x41b4a8
4049ab:	68 a0 b4 41 00       	push   $0x41b4a0
4049b0:	68 a8 b4 41 00       	push   $0x41b4a8
4049b5:	6a 08                	push   $0x8
4049b7:	e8 da fd ff ff       	call   0x404796
4049bc:	8b f0                	mov    %eax,%esi
4049be:	83 c4 10             	add    $0x10,%esp
4049c1:	85 f6                	test   %esi,%esi
4049c3:	74 14                	je     0x4049d9
4049c5:	ff 75 10             	push   0x10(%ebp)
4049c8:	8b ce                	mov    %esi,%ecx
4049ca:	ff 75 0c             	push   0xc(%ebp)
4049cd:	ff 75 08             	push   0x8(%ebp)
4049d0:	e8 70 f1 ff ff       	call   0x403b45
4049d5:	ff d6                	call   *%esi
4049d7:	eb 0c                	jmp    0x4049e5
4049d9:	ff 75 0c             	push   0xc(%ebp)
4049dc:	ff 75 08             	push   0x8(%ebp)
4049df:	ff 15 f0 b0 41 00    	call   *0x41b0f0
4049e5:	5e                   	pop    %esi
4049e6:	5d                   	pop    %ebp
4049e7:	c3                   	ret
4049e8:	a1 0c 30 42 00       	mov    0x42300c,%eax
4049ed:	ba a8 3e 42 00       	mov    $0x423ea8,%edx
4049f2:	56                   	push   %esi
4049f3:	83 e0 1f             	and    $0x1f,%eax
4049f6:	33 f6                	xor    %esi,%esi
4049f8:	6a 20                	push   $0x20
4049fa:	59                   	pop    %ecx
4049fb:	2b c8                	sub    %eax,%ecx
4049fd:	b8 84 3e 42 00       	mov    $0x423e84,%eax
404a02:	d3 ce                	ror    %cl,%esi
404a04:	33 c9                	xor    %ecx,%ecx
404a06:	33 35 0c 30 42 00    	xor    0x42300c,%esi
404a0c:	3b d0                	cmp    %eax,%edx
404a0e:	1b d2                	sbb    %edx,%edx
404a10:	83 e2 f7             	and    $0xfffffff7,%edx
404a13:	83 c2 09             	add    $0x9,%edx
404a16:	41                   	inc    %ecx
404a17:	89 30                	mov    %esi,(%eax)
404a19:	8d 40 04             	lea    0x4(%eax),%eax
404a1c:	3b ca                	cmp    %edx,%ecx
404a1e:	75 f6                	jne    0x404a16
404a20:	5e                   	pop    %esi
404a21:	c3                   	ret
404a22:	55                   	push   %ebp
404a23:	8b ec                	mov    %esp,%ebp
404a25:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
404a29:	75 27                	jne    0x404a52
404a2b:	56                   	push   %esi
404a2c:	be 74 3e 42 00       	mov    $0x423e74,%esi
404a31:	83 3e 00             	cmpl   $0x0,(%esi)
404a34:	74 10                	je     0x404a46
404a36:	83 3e ff             	cmpl   $0xffffffff,(%esi)
404a39:	74 08                	je     0x404a43
404a3b:	ff 36                	push   (%esi)
404a3d:	ff 15 04 b1 41 00    	call   *0x41b104
404a43:	83 26 00             	andl   $0x0,(%esi)
404a46:	83 c6 04             	add    $0x4,%esi
404a49:	81 fe 84 3e 42 00    	cmp    $0x423e84,%esi
404a4f:	75 e0                	jne    0x404a31
404a51:	5e                   	pop    %esi
404a52:	5d                   	pop    %ebp
404a53:	c3                   	ret
404a54:	cc                   	int3
404a55:	cc                   	int3
404a56:	cc                   	int3
404a57:	cc                   	int3
404a58:	cc                   	int3
404a59:	cc                   	int3
404a5a:	cc                   	int3
404a5b:	cc                   	int3
404a5c:	cc                   	int3
404a5d:	cc                   	int3
404a5e:	cc                   	int3
404a5f:	cc                   	int3
404a60:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
404a64:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
404a69:	8b d7                	mov    %edi,%edx
404a6b:	8b 7c 24 04          	mov    0x4(%esp),%edi
404a6f:	85 c9                	test   %ecx,%ecx
404a71:	0f 84 3c 01 00 00    	je     0x404bb3
404a77:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
404a7d:	83 f9 20             	cmp    $0x20,%ecx
404a80:	0f 8e df 00 00 00    	jle    0x404b65
404a86:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404a8c:	0f 8c 8b 00 00 00    	jl     0x404b1d
404a92:	0f ba 25 18 3e 42 00 	btl    $0x1,0x423e18
404a99:	01
404a9a:	73 09                	jae    0x404aa5
404a9c:	f3 aa                	rep stos %al,%es:(%edi)
404a9e:	8b 44 24 04          	mov    0x4(%esp),%eax
404aa2:	8b fa                	mov    %edx,%edi
404aa4:	c3                   	ret
404aa5:	0f ba 25 10 30 42 00 	btl    $0x1,0x423010
404aac:	01
404aad:	0f 83 b2 00 00 00    	jae    0x404b65
404ab3:	66 0f 6e c0          	movd   %eax,%xmm0
404ab7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404abc:	03 cf                	add    %edi,%ecx
404abe:	0f 11 07             	movups %xmm0,(%edi)
404ac1:	83 c7 10             	add    $0x10,%edi
404ac4:	83 e7 f0             	and    $0xfffffff0,%edi
404ac7:	2b cf                	sub    %edi,%ecx
404ac9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404acf:	7e 4c                	jle    0x404b1d
404ad1:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404ad8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404adf:	90                   	nop
404ae0:	66 0f 7f 07          	movdqa %xmm0,(%edi)
404ae4:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
404ae9:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
404aee:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
404af3:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
404af8:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
404afd:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
404b02:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
404b07:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
404b0d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404b13:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
404b19:	75 c5                	jne    0x404ae0
404b1b:	eb 13                	jmp    0x404b30
404b1d:	0f ba 25 10 30 42 00 	btl    $0x1,0x423010
404b24:	01
404b25:	73 3e                	jae    0x404b65
404b27:	66 0f 6e c0          	movd   %eax,%xmm0
404b2b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404b30:	83 f9 20             	cmp    $0x20,%ecx
404b33:	72 1c                	jb     0x404b51
404b35:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b39:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b3e:	83 c7 20             	add    $0x20,%edi
404b41:	83 e9 20             	sub    $0x20,%ecx
404b44:	83 f9 20             	cmp    $0x20,%ecx
404b47:	73 ec                	jae    0x404b35
404b49:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
404b4f:	74 62                	je     0x404bb3
404b51:	8d 7c 39 e0          	lea    -0x20(%ecx,%edi,1),%edi
404b55:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b59:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b5e:	8b 44 24 04          	mov    0x4(%esp),%eax
404b62:	8b fa                	mov    %edx,%edi
404b64:	c3                   	ret
404b65:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b6b:	74 0e                	je     0x404b7b
404b6d:	88 07                	mov    %al,(%edi)
404b6f:	47                   	inc    %edi
404b70:	83 e9 01             	sub    $0x1,%ecx
404b73:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b79:	75 f2                	jne    0x404b6d
404b7b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
404b81:	74 08                	je     0x404b8b
404b83:	89 07                	mov    %eax,(%edi)
404b85:	83 c7 04             	add    $0x4,%edi
404b88:	83 e9 04             	sub    $0x4,%ecx
404b8b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404b91:	74 20                	je     0x404bb3
404b93:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404b9a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404ba0:	89 07                	mov    %eax,(%edi)
404ba2:	89 47 04             	mov    %eax,0x4(%edi)
404ba5:	83 c7 08             	add    $0x8,%edi