4047e1:	5e                   	pop    %esi
4047e2:	5b                   	pop    %ebx
4047e3:	c9                   	leave
4047e4:	c2 08 00             	ret    $0x8
4047e7:	55                   	push   %ebp
4047e8:	8b ec                	mov    %esp,%ebp
4047ea:	51                   	push   %ecx
4047eb:	53                   	push   %ebx
4047ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
4047ef:	56                   	push   %esi
4047f0:	57                   	push   %edi
4047f1:	8b f9                	mov    %ecx,%edi
4047f3:	85 db                	test   %ebx,%ebx
4047f5:	74 13                	je     0x40480a
4047f7:	8d 73 08             	lea    0x8(%ebx),%esi
4047fa:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
4047fe:	56                   	push   %esi
4047ff:	6a 00                	push   $0x0
404801:	8b ce                	mov    %esi,%ecx
404803:	e8 96 12 00 00       	call   0x405a9e
404808:	eb 03                	jmp    0x40480d
40480a:	6a 08                	push   $0x8
40480c:	5e                   	pop    %esi
40480d:	8b 47 54             	mov    0x54(%edi),%eax
404810:	8d 4f 04             	lea    0x4(%edi),%ecx
404813:	6a 00                	push   $0x0
404815:	ff 77 68             	push   0x68(%edi)
404818:	89 47 4c             	mov    %eax,0x4c(%edi)
40481b:	89 07                	mov    %eax,(%edi)
40481d:	e8 b0 e0 01 00       	call   0x4228d2
404822:	8d 4f 14             	lea    0x14(%edi),%ecx
404825:	51                   	push   %ecx
404826:	ff 77 68             	push   0x68(%edi)
404829:	e8 43 13 00 00       	call   0x405b71
40482e:	ff 77 58             	push   0x58(%edi)
404831:	85 db                	test   %ebx,%ebx
404833:	c7 47 78 80 96 98 00 	movl   $0x989680,0x78(%edi)
40483a:	8b cf                	mov    %edi,%ecx
40483c:	c7 47 7c e8 03 00 00 	movl   $0x3e8,0x7c(%edi)
404843:	0f 95 c0             	setne  %al
404846:	c6 47 64 00          	movb   $0x0,0x64(%edi)
40484a:	88 47 65             	mov    %al,0x65(%edi)
40484d:	8a 45 0c             	mov    0xc(%ebp),%al
404850:	88 47 74             	mov    %al,0x74(%edi)
404853:	e8 6e 73 01 00       	call   0x41bbc6
404858:	84 c0                	test   %al,%al
40485a:	0f 84 bc 00 00 00    	je     0x40491c
404860:	85 db                	test   %ebx,%ebx
404862:	0f 84 b2 00 00 00    	je     0x40491a
404868:	8b c6                	mov    %esi,%eax
40486a:	50                   	push   %eax
40486b:	ff 77 68             	push   0x68(%edi)
40486e:	8b c8                	mov    %eax,%ecx
404870:	e8 29 12 00 00       	call   0x405a9e
404875:	33 c0                	xor    %eax,%eax
404877:	89 45 0c             	mov    %eax,0xc(%ebp)
40487a:	39 47 68             	cmp    %eax,0x68(%edi)
40487d:	76 5f                	jbe    0x4048de
40487f:	33 db                	xor    %ebx,%ebx
404881:	8b c8                	mov    %eax,%ecx
404883:	33 d2                	xor    %edx,%edx
404885:	83 e1 1f             	and    $0x1f,%ecx
404888:	42                   	inc    %edx
404889:	d3 e2                	shl    %cl,%edx
40488b:	8b c8                	mov    %eax,%ecx
40488d:	8b 47 24             	mov    0x24(%edi),%eax
404890:	c1 e9 05             	shr    $0x5,%ecx
404893:	85 14 88             	test   %edx,(%eax,%ecx,4)
404896:	8b 06                	mov    (%esi),%eax
404898:	74 1c                	je     0x4048b6
40489a:	8b 55 0c             	mov    0xc(%ebp),%edx
40489d:	c6 44 03 08 01       	movb   $0x1,0x8(%ebx,%eax,1)
4048a2:	8b 47 34             	mov    0x34(%edi),%eax
4048a5:	8b 0e                	mov    (%esi),%ecx
4048a7:	8b 04 d0             	mov    (%eax,%edx,8),%eax
4048aa:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4048ad:	8b 47 34             	mov    0x34(%edi),%eax
4048b0:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
4048b4:	eb 10                	jmp    0x4048c6
4048b6:	c6 44 03 08 00       	movb   $0x0,0x8(%ebx,%eax,1)
4048bb:	8b 0e                	mov    (%esi),%ecx
4048bd:	8b 47 50             	mov    0x50(%edi),%eax
4048c0:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4048c3:	8b 47 50             	mov    0x50(%edi),%eax
4048c6:	8b 0e                	mov    (%esi),%ecx
4048c8:	89 44 0b 04          	mov    %eax,0x4(%ebx,%ecx,1)
4048cc:	83 c3 0c             	add    $0xc,%ebx
4048cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4048d2:	40                   	inc    %eax
4048d3:	89 45 0c             	mov    %eax,0xc(%ebp)
4048d6:	3b 47 68             	cmp    0x68(%edi),%eax
4048d9:	72 a6                	jb     0x404881
4048db:	8b 5d 08             	mov    0x8(%ebp),%ebx
4048de:	8b 47 4c             	mov    0x4c(%edi),%eax
4048e1:	89 03                	mov    %eax,(%ebx)
4048e3:	8b 4f 4c             	mov    0x4c(%edi),%ecx
4048e6:	89 4b 14             	mov    %ecx,0x14(%ebx)
4048e9:	8b 06                	mov    (%esi),%eax
4048eb:	8b 00                	mov    (%eax),%eax
4048ed:	3b c8                	cmp    %eax,%ecx
4048ef:	89 43 18             	mov    %eax,0x18(%ebx)
4048f2:	0f 95 c0             	setne  %al
4048f5:	88 43 1c             	mov    %al,0x1c(%ebx)
4048f8:	8b 06                	mov    (%esi),%eax
4048fa:	8b 50 04             	mov    0x4(%eax),%edx
4048fd:	89 53 20             	mov    %edx,0x20(%ebx)
404900:	8b 4f 50             	mov    0x50(%edi),%ecx
404903:	3b d1                	cmp    %ecx,%edx
404905:	89 4b 24             	mov    %ecx,0x24(%ebx)
404908:	0f 95 c1             	setne  %cl
40490b:	88 4b 28             	mov    %cl,0x28(%ebx)
40490e:	8b 4f 50             	mov    0x50(%edi),%ecx
404911:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
404914:	8b 4f 50             	mov    0x50(%edi),%ecx
404917:	89 4b 30             	mov    %ecx,0x30(%ebx)
40491a:	b0 01                	mov    $0x1,%al
40491c:	5f                   	pop    %edi
40491d:	5e                   	pop    %esi
40491e:	5b                   	pop    %ebx
40491f:	c9                   	leave
404920:	c2 08 00             	ret    $0x8
404923:	55                   	push   %ebp
404924:	8b ec                	mov    %esp,%ebp
404926:	51                   	push   %ecx
404927:	53                   	push   %ebx
404928:	8b 5d 08             	mov    0x8(%ebp),%ebx
40492b:	56                   	push   %esi
40492c:	57                   	push   %edi
40492d:	8b f9                	mov    %ecx,%edi
40492f:	85 db                	test   %ebx,%ebx
404931:	74 13                	je     0x404946
404933:	8d 73 08             	lea    0x8(%ebx),%esi
404936:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
40493a:	56                   	push   %esi
40493b:	6a 00                	push   $0x0
40493d:	8b ce                	mov    %esi,%ecx
40493f:	e8 fa 12 00 00       	call   0x405c3e
404944:	eb 03                	jmp    0x404949
404946:	6a 08                	push   $0x8
404948:	5e                   	pop    %esi
404949:	8b 47 54             	mov    0x54(%edi),%eax
40494c:	8d 4f 04             	lea    0x4(%edi),%ecx
40494f:	6a 00                	push   $0x0
404951:	ff 77 68             	push   0x68(%edi)
404954:	89 47 4c             	mov    %eax,0x4c(%edi)
404957:	89 07                	mov    %eax,(%edi)
404959:	e8 74 df 01 00       	call   0x4228d2
40495e:	8d 4f 14             	lea    0x14(%edi),%ecx
404961:	51                   	push   %ecx
404962:	ff 77 68             	push   0x68(%edi)
404965:	e8 9b 0f 00 00       	call   0x405905
40496a:	ff 77 58             	push   0x58(%edi)
40496d:	85 db                	test   %ebx,%ebx
40496f:	c7 47 78 80 96 98 00 	movl   $0x989680,0x78(%edi)
404976:	8b cf                	mov    %edi,%ecx
404978:	c7 47 7c e8 03 00 00 	movl   $0x3e8,0x7c(%edi)
40497f:	0f 95 c0             	setne  %al
404982:	c6 47 64 00          	movb   $0x0,0x64(%edi)
404986:	88 47 65             	mov    %al,0x65(%edi)
404989:	8a 45 0c             	mov    0xc(%ebp),%al
40498c:	88 47 74             	mov    %al,0x74(%edi)
40498f:	e8 d2 75 01 00       	call   0x41bf66
404994:	84 c0                	test   %al,%al
404996:	0f 84 bc 00 00 00    	je     0x404a58
40499c:	85 db                	test   %ebx,%ebx
40499e:	0f 84 b2 00 00 00    	je     0x404a56
4049a4:	8b c6                	mov    %esi,%eax
4049a6:	50                   	push   %eax
4049a7:	ff 77 68             	push   0x68(%edi)
4049aa:	8b c8                	mov    %eax,%ecx
4049ac:	e8 8d 12 00 00       	call   0x405c3e
4049b1:	33 c0                	xor    %eax,%eax
4049b3:	89 45 0c             	mov    %eax,0xc(%ebp)
4049b6:	39 47 68             	cmp    %eax,0x68(%edi)
4049b9:	76 5f                	jbe    0x404a1a
4049bb:	33 db                	xor    %ebx,%ebx
4049bd:	8b c8                	mov    %eax,%ecx
4049bf:	33 d2                	xor    %edx,%edx
4049c1:	83 e1 1f             	and    $0x1f,%ecx
4049c4:	42                   	inc    %edx
4049c5:	d3 e2                	shl    %cl,%edx
4049c7:	8b c8                	mov    %eax,%ecx
4049c9:	8b 47 24             	mov    0x24(%edi),%eax
4049cc:	c1 e9 05             	shr    $0x5,%ecx
4049cf:	85 14 88             	test   %edx,(%eax,%ecx,4)
4049d2:	8b 06                	mov    (%esi),%eax
4049d4:	74 1c                	je     0x4049f2
4049d6:	8b 55 0c             	mov    0xc(%ebp),%edx
4049d9:	c6 44 03 08 01       	movb   $0x1,0x8(%ebx,%eax,1)
4049de:	8b 47 34             	mov    0x34(%edi),%eax
4049e1:	8b 0e                	mov    (%esi),%ecx
4049e3:	8b 04 d0             	mov    (%eax,%edx,8),%eax
4049e6:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4049e9:	8b 47 34             	mov    0x34(%edi),%eax
4049ec:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
4049f0:	eb 10                	jmp    0x404a02
4049f2:	c6 44 03 08 00       	movb   $0x0,0x8(%ebx,%eax,1)
4049f7:	8b 0e                	mov    (%esi),%ecx
4049f9:	8b 47 50             	mov    0x50(%edi),%eax
4049fc:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
4049ff:	8b 47 50             	mov    0x50(%edi),%eax
404a02:	8b 0e                	mov    (%esi),%ecx
404a04:	89 44 0b 04          	mov    %eax,0x4(%ebx,%ecx,1)
404a08:	83 c3 0c             	add    $0xc,%ebx
404a0b:	8b 45 0c             	mov    0xc(%ebp),%eax
404a0e:	40                   	inc    %eax
404a0f:	89 45 0c             	mov    %eax,0xc(%ebp)
404a12:	3b 47 68             	cmp    0x68(%edi),%eax
404a15:	72 a6                	jb     0x4049bd
404a17:	8b 5d 08             	mov    0x8(%ebp),%ebx
404a1a:	8b 47 4c             	mov    0x4c(%edi),%eax
404a1d:	89 03                	mov    %eax,(%ebx)
404a1f:	8b 4f 4c             	mov    0x4c(%edi),%ecx
404a22:	89 4b 14             	mov    %ecx,0x14(%ebx)
404a25:	8b 06                	mov    (%esi),%eax
404a27:	8b 00                	mov    (%eax),%eax
404a29:	3b c8                	cmp    %eax,%ecx
404a2b:	89 43 18             	mov    %eax,0x18(%ebx)
404a2e:	0f 95 c0             	setne  %al
404a31:	88 43 1c             	mov    %al,0x1c(%ebx)
404a34:	8b 06                	mov    (%esi),%eax
404a36:	8b 50 04             	mov    0x4(%eax),%edx
404a39:	89 53 20             	mov    %edx,0x20(%ebx)
404a3c:	8b 4f 50             	mov    0x50(%edi),%ecx
404a3f:	3b d1                	cmp    %ecx,%edx
404a41:	89 4b 24             	mov    %ecx,0x24(%ebx)
404a44:	0f 95 c1             	setne  %cl
404a47:	88 4b 28             	mov    %cl,0x28(%ebx)
404a4a:	8b 4f 50             	mov    0x50(%edi),%ecx
404a4d:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
404a50:	8b 4f 50             	mov    0x50(%edi),%ecx
404a53:	89 4b 30             	mov    %ecx,0x30(%ebx)
404a56:	b0 01                	mov    $0x1,%al
404a58:	5f                   	pop    %edi
404a59:	5e                   	pop    %esi
404a5a:	5b                   	pop    %ebx
404a5b:	c9                   	leave
404a5c:	c2 08 00             	ret    $0x8
404a5f:	55                   	push   %ebp
404a60:	8b ec                	mov    %esp,%ebp
404a62:	8b 45 08             	mov    0x8(%ebp),%eax
404a65:	c6 00 00             	movb   $0x0,(%eax)
404a68:	5d                   	pop    %ebp
404a69:	c3                   	ret
404a6a:	55                   	push   %ebp
404a6b:	8b ec                	mov    %esp,%ebp
404a6d:	8b 45 08             	mov    0x8(%ebp),%eax
404a70:	c6 00 00             	movb   $0x0,(%eax)
404a73:	5d                   	pop    %ebp
404a74:	c3                   	ret
404a75:	55                   	push   %ebp
404a76:	8b ec                	mov    %esp,%ebp
404a78:	8b 45 08             	mov    0x8(%ebp),%eax
404a7b:	c6 00 00             	movb   $0x0,(%eax)
404a7e:	5d                   	pop    %ebp
404a7f:	c3                   	ret
404a80:	55                   	push   %ebp
404a81:	8b ec                	mov    %esp,%ebp
404a83:	8b 45 08             	mov    0x8(%ebp),%eax
404a86:	c6 00 00             	movb   $0x0,(%eax)
404a89:	5d                   	pop    %ebp
404a8a:	c3                   	ret
404a8b:	55                   	push   %ebp
404a8c:	8b ec                	mov    %esp,%ebp
404a8e:	8b 45 08             	mov    0x8(%ebp),%eax
404a91:	c6 00 00             	movb   $0x0,(%eax)
404a94:	5d                   	pop    %ebp
404a95:	c3                   	ret
404a96:	55                   	push   %ebp
404a97:	8b ec                	mov    %esp,%ebp
404a99:	8b 45 08             	mov    0x8(%ebp),%eax
404a9c:	c6 00 00             	movb   $0x0,(%eax)
404a9f:	5d                   	pop    %ebp
404aa0:	c3                   	ret
404aa1:	55                   	push   %ebp
404aa2:	8b ec                	mov    %esp,%ebp
404aa4:	8b 45 08             	mov    0x8(%ebp),%eax
404aa7:	c6 00 00             	movb   $0x0,(%eax)
404aaa:	5d                   	pop    %ebp
404aab:	c3                   	ret
404aac:	55                   	push   %ebp
404aad:	8b ec                	mov    %esp,%ebp
404aaf:	8b 45 08             	mov    0x8(%ebp),%eax
404ab2:	c6 00 00             	movb   $0x0,(%eax)
404ab5:	5d                   	pop    %ebp
404ab6:	c3                   	ret
404ab7:	55                   	push   %ebp
404ab8:	8b ec                	mov    %esp,%ebp
404aba:	8b 45 08             	mov    0x8(%ebp),%eax
404abd:	c6 00 00             	movb   $0x0,(%eax)
404ac0:	5d                   	pop    %ebp
404ac1:	c3                   	ret
404ac2:	55                   	push   %ebp
404ac3:	8b ec                	mov    %esp,%ebp
404ac5:	8b 45 08             	mov    0x8(%ebp),%eax
404ac8:	c6 00 00             	movb   $0x0,(%eax)
404acb:	5d                   	pop    %ebp
404acc:	c3                   	ret
404acd:	55                   	push   %ebp
404ace:	8b ec                	mov    %esp,%ebp
404ad0:	8b 45 08             	mov    0x8(%ebp),%eax
404ad3:	c6 00 00             	movb   $0x0,(%eax)
404ad6:	5d                   	pop    %ebp
404ad7:	c3                   	ret
404ad8:	55                   	push   %ebp
404ad9:	8b ec                	mov    %esp,%ebp
404adb:	8b 45 08             	mov    0x8(%ebp),%eax
404ade:	c6 00 00             	movb   $0x0,(%eax)
404ae1:	5d                   	pop    %ebp
404ae2:	c3                   	ret
404ae3:	6a 08                	push   $0x8
404ae5:	b8 18 a2 48 00       	mov    $0x48a218,%eax
404aea:	e8 c6 af 03 00       	call   0x43fab5
404aef:	8b f1                	mov    %ecx,%esi
404af1:	89 75 ec             	mov    %esi,-0x14(%ebp)
404af4:	8b 45 0c             	mov    0xc(%ebp),%eax
404af7:	2b 45 08             	sub    0x8(%ebp),%eax
404afa:	50                   	push   %eax
404afb:	e8 dc 1e 01 00       	call   0x4169dc
404b00:	84 c0                	test   %al,%al
404b02:	74 1c                	je     0x404b20
404b04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404b08:	56                   	push   %esi
404b09:	ff 36                	push   (%esi)
404b0b:	ff 75 0c             	push   0xc(%ebp)
404b0e:	ff 75 08             	push   0x8(%ebp)
404b11:	e8 5b 18 00 00       	call   0x406371
404b16:	83 c4 10             	add    $0x10,%esp
404b19:	89 46 04             	mov    %eax,0x4(%esi)
404b1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404b20:	e8 ee ae 03 00       	call   0x43fa13
404b25:	c2 0c 00             	ret    $0xc
404b28:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404b2b:	e8 1f 85 01 00       	call   0x41d04f
404b30:	6a 00                	push   $0x0
404b32:	6a 00                	push   $0x0
404b34:	e8 89 f6 03 00       	call   0x4441c2
404b39:	cc                   	int3
404b3a:	6a 08                	push   $0x8
404b3c:	b8 33 a2 48 00       	mov    $0x48a233,%eax
404b41:	e8 6f af 03 00       	call   0x43fab5
404b46:	8b f1                	mov    %ecx,%esi
404b48:	89 75 ec             	mov    %esi,-0x14(%ebp)
404b4b:	8b 45 0c             	mov    0xc(%ebp),%eax
404b4e:	2b 45 08             	sub    0x8(%ebp),%eax
404b51:	c1 f8 02             	sar    $0x2,%eax
404b54:	50                   	push   %eax
404b55:	e8 c5 1e 01 00       	call   0x416a1f
404b5a:	84 c0                	test   %al,%al
404b5c:	74 1c                	je     0x404b7a