404893:	e8 dc f3 ff ff       	call   0x403c74
404898:	e8 ce f0 ff ff       	call   0x40396b
40489d:	8b f0                	mov    %eax,%esi
40489f:	a1 4c b6 40 00       	mov    0x40b64c,%eax
4048a4:	85 46 70             	test   %eax,0x70(%esi)
4048a7:	74 22                	je     0x4048cb
4048a9:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
4048ad:	74 1c                	je     0x4048cb
4048af:	e8 b7 f0 ff ff       	call   0x40396b
4048b4:	8b 70 6c             	mov    0x6c(%eax),%esi
4048b7:	85 f6                	test   %esi,%esi
4048b9:	75 08                	jne    0x4048c3
4048bb:	6a 20                	push   $0x20
4048bd:	e8 75 e1 ff ff       	call   0x402a37
4048c2:	59                   	pop    %ecx
4048c3:	8b c6                	mov    %esi,%eax
4048c5:	e8 ef f3 ff ff       	call   0x403cb9
4048ca:	c3                   	ret
4048cb:	6a 0c                	push   $0xc
4048cd:	e8 39 05 00 00       	call   0x404e0b
4048d2:	59                   	pop    %ecx
4048d3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4048d7:	8d 46 6c             	lea    0x6c(%esi),%eax
4048da:	8b 3d 30 b7 40 00    	mov    0x40b730,%edi
4048e0:	e8 69 ff ff ff       	call   0x40484e
4048e5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4048e8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4048ef:	e8 02 00 00 00       	call   0x4048f6
4048f4:	eb c1                	jmp    0x4048b7
4048f6:	6a 0c                	push   $0xc
4048f8:	e8 34 04 00 00       	call   0x404d31
4048fd:	59                   	pop    %ecx
4048fe:	8b 75 e4             	mov    -0x1c(%ebp),%esi
404901:	c3                   	ret
404902:	8b ff                	mov    %edi,%edi
404904:	55                   	push   %ebp
404905:	8b ec                	mov    %esp,%ebp
404907:	83 ec 18             	sub    $0x18,%esp
40490a:	53                   	push   %ebx
40490b:	ff 75 10             	push   0x10(%ebp)
40490e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404911:	e8 c0 dd ff ff       	call   0x4026d6
404916:	8b 5d 08             	mov    0x8(%ebp),%ebx
404919:	8d 43 01             	lea    0x1(%ebx),%eax
40491c:	3d 00 01 00 00       	cmp    $0x100,%eax
404921:	77 0f                	ja     0x404932
404923:	8b 45 e8             	mov    -0x18(%ebp),%eax
404926:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
40492c:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
404930:	eb 75                	jmp    0x4049a7
404932:	89 5d 08             	mov    %ebx,0x8(%ebp)
404935:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
404939:	8d 45 e8             	lea    -0x18(%ebp),%eax
40493c:	50                   	push   %eax
40493d:	8b 45 08             	mov    0x8(%ebp),%eax
404940:	25 ff 00 00 00       	and    $0xff,%eax
404945:	50                   	push   %eax
404946:	e8 e5 29 00 00       	call   0x407330
40494b:	59                   	pop    %ecx
40494c:	59                   	pop    %ecx
40494d:	85 c0                	test   %eax,%eax
40494f:	74 12                	je     0x404963
404951:	8a 45 08             	mov    0x8(%ebp),%al
404954:	6a 02                	push   $0x2
404956:	88 45 f8             	mov    %al,-0x8(%ebp)
404959:	88 5d f9             	mov    %bl,-0x7(%ebp)
40495c:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
404960:	59                   	pop    %ecx
404961:	eb 0a                	jmp    0x40496d
404963:	33 c9                	xor    %ecx,%ecx
404965:	88 5d f8             	mov    %bl,-0x8(%ebp)
404968:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
40496c:	41                   	inc    %ecx
40496d:	8b 45 e8             	mov    -0x18(%ebp),%eax
404970:	6a 01                	push   $0x1
404972:	ff 70 14             	push   0x14(%eax)
404975:	ff 70 04             	push   0x4(%eax)
404978:	8d 45 fc             	lea    -0x4(%ebp),%eax
40497b:	50                   	push   %eax
40497c:	51                   	push   %ecx
40497d:	8d 45 f8             	lea    -0x8(%ebp),%eax
404980:	50                   	push   %eax
404981:	8d 45 e8             	lea    -0x18(%ebp),%eax
404984:	6a 01                	push   $0x1
404986:	50                   	push   %eax
404987:	e8 d2 25 00 00       	call   0x406f5e
40498c:	83 c4 20             	add    $0x20,%esp
40498f:	85 c0                	test   %eax,%eax
404991:	75 10                	jne    0x4049a3
404993:	38 45 f4             	cmp    %al,-0xc(%ebp)
404996:	74 07                	je     0x40499f
404998:	8b 45 f0             	mov    -0x10(%ebp),%eax
40499b:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40499f:	33 c0                	xor    %eax,%eax
4049a1:	eb 14                	jmp    0x4049b7
4049a3:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
4049a7:	23 45 0c             	and    0xc(%ebp),%eax
4049aa:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
4049ae:	74 07                	je     0x4049b7
4049b0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4049b3:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4049b7:	5b                   	pop    %ebx
4049b8:	c9                   	leave
4049b9:	c3                   	ret
4049ba:	8b ff                	mov    %edi,%edi
4049bc:	55                   	push   %ebp
4049bd:	8b ec                	mov    %esp,%ebp
4049bf:	8b 45 08             	mov    0x8(%ebp),%eax
4049c2:	a3 20 ce 45 00       	mov    %eax,0x45ce20
4049c7:	5d                   	pop    %ebp
4049c8:	c3                   	ret
4049c9:	8b ff                	mov    %edi,%edi
4049cb:	55                   	push   %ebp
4049cc:	8b ec                	mov    %esp,%ebp
4049ce:	81 ec 28 03 00 00    	sub    $0x328,%esp
4049d4:	a1 04 b0 40 00       	mov    0x40b004,%eax
4049d9:	33 c5                	xor    %ebp,%eax
4049db:	89 45 fc             	mov    %eax,-0x4(%ebp)
4049de:	83 a5 d8 fc ff ff 00 	andl   $0x0,-0x328(%ebp)
4049e5:	53                   	push   %ebx
4049e6:	6a 4c                	push   $0x4c
4049e8:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
4049ee:	6a 00                	push   $0x0
4049f0:	50                   	push   %eax
4049f1:	e8 2a 1f 00 00       	call   0x406920
4049f6:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
4049fc:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
404a02:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
404a08:	83 c4 0c             	add    $0xc,%esp
404a0b:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
404a11:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
404a17:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
404a1d:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
404a23:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
404a29:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
404a2f:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
404a35:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
404a3c:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
404a43:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
404a4a:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
404a51:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
404a58:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
404a5f:	9c                   	pushf
404a60:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
404a66:	8b 45 04             	mov    0x4(%ebp),%eax
404a69:	8d 4d 04             	lea    0x4(%ebp),%ecx
404a6c:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
404a73:	00 01 00
404a76:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
404a7c:	89 8d f4 fd ff ff    	mov    %ecx,-0x20c(%ebp)
404a82:	8b 49 fc             	mov    -0x4(%ecx),%ecx
404a85:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
404a8b:	c7 85 d8 fc ff ff 17 	movl   $0xc0000417,-0x328(%ebp)
404a92:	04 00 c0
404a95:	c7 85 dc fc ff ff 01 	movl   $0x1,-0x324(%ebp)
404a9c:	00 00 00
404a9f:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
404aa5:	ff 15 80 10 40 00    	call   *0x401080
404aab:	6a 00                	push   $0x0
404aad:	8b d8                	mov    %eax,%ebx
404aaf:	ff 15 7c 10 40 00    	call   *0x40107c
404ab5:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
404abb:	50                   	push   %eax
404abc:	ff 15 78 10 40 00    	call   *0x401078
404ac2:	85 c0                	test   %eax,%eax
404ac4:	75 0c                	jne    0x404ad2
404ac6:	85 db                	test   %ebx,%ebx
404ac8:	75 08                	jne    0x404ad2
404aca:	6a 02                	push   $0x2
404acc:	e8 21 f4 ff ff       	call   0x403ef2
404ad1:	59                   	pop    %ecx
404ad2:	68 17 04 00 c0       	push   $0xc0000417
404ad7:	ff 15 74 10 40 00    	call   *0x401074
404add:	50                   	push   %eax
404ade:	ff 15 70 10 40 00    	call   *0x401070
404ae4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404ae7:	33 cd                	xor    %ebp,%ecx
404ae9:	5b                   	pop    %ebx
404aea:	e8 01 d9 ff ff       	call   0x4023f0
404aef:	c9                   	leave
404af0:	c3                   	ret
404af1:	8b ff                	mov    %edi,%edi
404af3:	55                   	push   %ebp
404af4:	8b ec                	mov    %esp,%ebp
404af6:	ff 35 20 ce 45 00    	push   0x45ce20
404afc:	e8 1e ec ff ff       	call   0x40371f
404b01:	59                   	pop    %ecx
404b02:	85 c0                	test   %eax,%eax
404b04:	74 03                	je     0x404b09
404b06:	5d                   	pop    %ebp
404b07:	ff e0                	jmp    *%eax
404b09:	6a 02                	push   $0x2
404b0b:	e8 e2 f3 ff ff       	call   0x403ef2
404b10:	59                   	pop    %ecx
404b11:	5d                   	pop    %ebp
404b12:	e9 b2 fe ff ff       	jmp    0x4049c9
404b17:	8b ff                	mov    %edi,%edi
404b19:	55                   	push   %ebp
404b1a:	8b ec                	mov    %esp,%ebp
404b1c:	8b 45 08             	mov    0x8(%ebp),%eax
404b1f:	33 c9                	xor    %ecx,%ecx
404b21:	3b 04 cd 40 b7 40 00 	cmp    0x40b740(,%ecx,8),%eax
404b28:	74 13                	je     0x404b3d
404b2a:	41                   	inc    %ecx
404b2b:	83 f9 2d             	cmp    $0x2d,%ecx
404b2e:	72 f1                	jb     0x404b21
404b30:	8d 48 ed             	lea    -0x13(%eax),%ecx
404b33:	83 f9 11             	cmp    $0x11,%ecx
404b36:	77 0e                	ja     0x404b46
404b38:	6a 0d                	push   $0xd
404b3a:	58                   	pop    %eax
404b3b:	5d                   	pop    %ebp
404b3c:	c3                   	ret
404b3d:	8b 04 cd 44 b7 40 00 	mov    0x40b744(,%ecx,8),%eax
404b44:	5d                   	pop    %ebp
404b45:	c3                   	ret
404b46:	05 44 ff ff ff       	add    $0xffffff44,%eax
404b4b:	6a 0e                	push   $0xe
404b4d:	59                   	pop    %ecx
404b4e:	3b c8                	cmp    %eax,%ecx
404b50:	1b c0                	sbb    %eax,%eax
404b52:	23 c1                	and    %ecx,%eax
404b54:	83 c0 08             	add    $0x8,%eax
404b57:	5d                   	pop    %ebp
404b58:	c3                   	ret
404b59:	e8 94 ed ff ff       	call   0x4038f2
404b5e:	85 c0                	test   %eax,%eax
404b60:	75 06                	jne    0x404b68
404b62:	b8 a8 b8 40 00       	mov    $0x40b8a8,%eax
404b67:	c3                   	ret
404b68:	83 c0 08             	add    $0x8,%eax
404b6b:	c3                   	ret
404b6c:	cc                   	int3
404b6d:	cc                   	int3
404b6e:	cc                   	int3
404b6f:	cc                   	int3
404b70:	8b 44 24 08          	mov    0x8(%esp),%eax
404b74:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404b78:	0b c8                	or     %eax,%ecx
404b7a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
404b7e:	75 09                	jne    0x404b89
404b80:	8b 44 24 04          	mov    0x4(%esp),%eax
404b84:	f7 e1                	mul    %ecx
404b86:	c2 10 00             	ret    $0x10
404b89:	53                   	push   %ebx
404b8a:	f7 e1                	mul    %ecx
404b8c:	8b d8                	mov    %eax,%ebx
404b8e:	8b 44 24 08          	mov    0x8(%esp),%eax
404b92:	f7 64 24 14          	mull   0x14(%esp)
404b96:	03 d8                	add    %eax,%ebx
404b98:	8b 44 24 08          	mov    0x8(%esp),%eax
404b9c:	f7 e1                	mul    %ecx
404b9e:	03 d3                	add    %ebx,%edx
404ba0:	5b                   	pop    %ebx
404ba1:	c2 10 00             	ret    $0x10
404ba4:	cc                   	int3
404ba5:	cc                   	int3
404ba6:	cc                   	int3
404ba7:	cc                   	int3
404ba8:	cc                   	int3
404ba9:	cc                   	int3
404baa:	cc                   	int3
404bab:	cc                   	int3
404bac:	cc                   	int3
404bad:	cc                   	int3
404bae:	cc                   	int3
404baf:	cc                   	int3
404bb0:	56                   	push   %esi
404bb1:	8b 44 24 14          	mov    0x14(%esp),%eax
404bb5:	0b c0                	or     %eax,%eax
404bb7:	75 28                	jne    0x404be1
404bb9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404bbd:	8b 44 24 0c          	mov    0xc(%esp),%eax
404bc1:	33 d2                	xor    %edx,%edx
404bc3:	f7 f1                	div    %ecx
404bc5:	8b d8                	mov    %eax,%ebx
404bc7:	8b 44 24 08          	mov    0x8(%esp),%eax
404bcb:	f7 f1                	div    %ecx
404bcd:	8b f0                	mov    %eax,%esi
404bcf:	8b c3                	mov    %ebx,%eax
404bd1:	f7 64 24 10          	mull   0x10(%esp)
404bd5:	8b c8                	mov    %eax,%ecx
404bd7:	8b c6                	mov    %esi,%eax
404bd9:	f7 64 24 10          	mull   0x10(%esp)
404bdd:	03 d1                	add    %ecx,%edx
404bdf:	eb 47                	jmp    0x404c28
404be1:	8b c8                	mov    %eax,%ecx
404be3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
404be7:	8b 54 24 0c          	mov    0xc(%esp),%edx
404beb:	8b 44 24 08          	mov    0x8(%esp),%eax
404bef:	d1 e9                	shr    $1,%ecx
404bf1:	d1 db                	rcr    $1,%ebx
404bf3:	d1 ea                	shr    $1,%edx
404bf5:	d1 d8                	rcr    $1,%eax
404bf7:	0b c9                	or     %ecx,%ecx
404bf9:	75 f4                	jne    0x404bef
404bfb:	f7 f3                	div    %ebx
404bfd:	8b f0                	mov    %eax,%esi
404bff:	f7 64 24 14          	mull   0x14(%esp)
404c03:	8b c8                	mov    %eax,%ecx
404c05:	8b 44 24 10          	mov    0x10(%esp),%eax
404c09:	f7 e6                	mul    %esi
404c0b:	03 d1                	add    %ecx,%edx
404c0d:	72 0e                	jb     0x404c1d
404c0f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
404c13:	77 08                	ja     0x404c1d
404c15:	72 0f                	jb     0x404c26
404c17:	3b 44 24 08          	cmp    0x8(%esp),%eax
404c1b:	76 09                	jbe    0x404c26
404c1d:	4e                   	dec    %esi
404c1e:	2b 44 24 10          	sub    0x10(%esp),%eax
404c22:	1b 54 24 14          	sbb    0x14(%esp),%edx
404c26:	33 db                	xor    %ebx,%ebx
404c28:	2b 44 24 08          	sub    0x8(%esp),%eax
404c2c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
404c30:	f7 da                	neg    %edx
404c32:	f7 d8                	neg    %eax
404c34:	83 da 00             	sbb    $0x0,%edx
404c37:	8b ca                	mov    %edx,%ecx
404c39:	8b d3                	mov    %ebx,%edx
404c3b:	8b d9                	mov    %ecx,%ebx
404c3d:	8b c8                	mov    %eax,%ecx
404c3f:	8b c6                	mov    %esi,%eax
404c41:	5e                   	pop    %esi
404c42:	c2 10 00             	ret    $0x10
404c45:	6a 08                	push   $0x8
404c47:	68 b8 a5 40 00       	push   $0x40a5b8
404c4c:	e8 23 f0 ff ff       	call   0x403c74
404c51:	e8 15 ed ff ff       	call   0x40396b
404c56:	8b 40 78             	mov    0x78(%eax),%eax
404c59:	85 c0                	test   %eax,%eax
404c5b:	74 16                	je     0x404c73
404c5d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404c61:	ff d0                	call   *%eax
404c63:	eb 07                	jmp    0x404c6c
404c65:	33 c0                	xor    %eax,%eax
404c67:	40                   	inc    %eax
404c68:	c3                   	ret
404c69:	8b 65 e8             	mov    -0x18(%ebp),%esp
404c6c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404c73:	e8 f0 26 00 00       	call   0x407368
404c78:	e8 3c f0 ff ff       	call   0x403cb9
404c7d:	c3                   	ret
404c7e:	68 45 4c 40 00       	push   $0x404c45
404c83:	e8 1c ea ff ff       	call   0x4036a4
404c88:	59                   	pop    %ecx
404c89:	a3 24 ce 45 00       	mov    %eax,0x45ce24
404c8e:	c3                   	ret
404c8f:	8b ff                	mov    %edi,%edi
404c91:	56                   	push   %esi