418841:	50                   	push   %eax
418842:	68 28 52 40 00       	push   $0x405228
418847:	57                   	push   %edi
418848:	ff 15 ec a3 43 00    	call   *0x43a3ec
41884e:	8b d7                	mov    %edi,%edx
418850:	39 3e                	cmp    %edi,(%esi)
418852:	76 21                	jbe    0x418875
418854:	8d 4e 08             	lea    0x8(%esi),%ecx
418857:	8b 41 fc             	mov    -0x4(%ecx),%eax
41885a:	3b 45 dc             	cmp    -0x24(%ebp),%eax
41885d:	75 07                	jne    0x418866
41885f:	8b 01                	mov    (%ecx),%eax
418861:	3b 45 e0             	cmp    -0x20(%ebp),%eax
418864:	74 07                	je     0x41886d
418866:	c7 41 04 04 00 00 00 	movl   $0x4,0x4(%ecx)
41886d:	42                   	inc    %edx
41886e:	83 c1 0c             	add    $0xc,%ecx
418871:	3b 16                	cmp    (%esi),%edx
418873:	72 e2                	jb     0x418857
418875:	57                   	push   %edi
418876:	57                   	push   %edi
418877:	ff 75 f0             	push   -0x10(%ebp)
41887a:	56                   	push   %esi
41887b:	57                   	push   %edi
41887c:	ff 75 ec             	push   -0x14(%ebp)
41887f:	ff 15 cc a3 43 00    	call   *0x43a3cc
418885:	85 c0                	test   %eax,%eax
418887:	75 15                	jne    0x41889e
418889:	ff 15 a8 a0 43 00    	call   *0x43a0a8
41888f:	8b f8                	mov    %eax,%edi
418891:	85 ff                	test   %edi,%edi
418893:	7e 09                	jle    0x41889e
418895:	0f b7 ff             	movzwl %di,%edi
418898:	81 cf 00 00 07 80    	or     $0x80070000,%edi
41889e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4188a2:	56                   	push   %esi
4188a3:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
4188a9:	8b ce                	mov    %esi,%ecx
4188ab:	ff 15 20 a5 43 00    	call   *0x43a520
4188b1:	ff d6                	call   *%esi
4188b3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4188b7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4188ba:	85 c9                	test   %ecx,%ecx
4188bc:	74 1c                	je     0x4188da
4188be:	83 f9 ff             	cmp    $0xffffffff,%ecx
4188c1:	74 17                	je     0x4188da
4188c3:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4188c6:	8d 55 e8             	lea    -0x18(%ebp),%edx
4188c9:	8b 0d 10 a1 43 00    	mov    0x43a110,%ecx
4188cf:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4188d2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4188d5:	e8 8a 2d 00 00       	call   0x41b664
4188da:	8b c7                	mov    %edi,%eax
4188dc:	e8 fb 24 00 00       	call   0x41addc
4188e1:	c3                   	ret
4188e2:	8b ff                	mov    %edi,%edi
4188e4:	55                   	push   %ebp
4188e5:	8b ec                	mov    %esp,%ebp
4188e7:	56                   	push   %esi
4188e8:	8b f1                	mov    %ecx,%esi
4188ea:	8b 0e                	mov    (%esi),%ecx
4188ec:	85 c9                	test   %ecx,%ecx
4188ee:	74 05                	je     0x4188f5
4188f0:	83 f9 ff             	cmp    $0xffffffff,%ecx
4188f3:	75 0a                	jne    0x4188ff
4188f5:	8b 45 08             	mov    0x8(%ebp),%eax
4188f8:	89 06                	mov    %eax,(%esi)
4188fa:	5e                   	pop    %esi
4188fb:	5d                   	pop    %ebp
4188fc:	c2 04 00             	ret    $0x4
4188ff:	e8 4c 5a 01 00       	call   0x42e350
418904:	eb ef                	jmp    0x4188f5
418906:	8b ff                	mov    %edi,%edi
418908:	55                   	push   %ebp
418909:	8b ec                	mov    %esp,%ebp
41890b:	83 ec 0c             	sub    $0xc,%esp
41890e:	56                   	push   %esi
41890f:	6a 04                	push   $0x4
418911:	8d 45 fc             	lea    -0x4(%ebp),%eax
418914:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41891b:	50                   	push   %eax
41891c:	6a 09                	push   $0x9
41891e:	ff 15 0c a2 43 00    	call   *0x43a20c
418924:	6a 04                	push   $0x4
418926:	8d 45 f8             	lea    -0x8(%ebp),%eax
418929:	33 f6                	xor    %esi,%esi
41892b:	50                   	push   %eax
41892c:	46                   	inc    %esi
41892d:	6a 0a                	push   $0xa
41892f:	89 75 f8             	mov    %esi,-0x8(%ebp)
418932:	ff 15 0c a2 43 00    	call   *0x43a20c
418938:	6a 04                	push   $0x4
41893a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41893d:	89 75 f4             	mov    %esi,-0xc(%ebp)
418940:	50                   	push   %eax
418941:	6a 0d                	push   $0xd
418943:	ff 15 0c a2 43 00    	call   *0x43a20c
418949:	5e                   	pop    %esi
41894a:	c9                   	leave
41894b:	c3                   	ret
41894c:	8b ff                	mov    %edi,%edi
41894e:	55                   	push   %ebp
41894f:	8b ec                	mov    %esp,%ebp
418951:	83 e4 f8             	and    $0xfffffff8,%esp
418954:	a1 f4 89 43 00       	mov    0x4389f4,%eax
418959:	83 ec 50             	sub    $0x50,%esp
41895c:	b9 70 7d 42 00       	mov    $0x427d70,%ecx
418961:	85 c0                	test   %eax,%eax
418963:	0f 85 39 a6 00 00    	jne    0x422fa2
418969:	89 0d f4 89 43 00    	mov    %ecx,0x4389f4
41896f:	8b e5                	mov    %ebp,%esp
418971:	5d                   	pop    %ebp
418972:	c3                   	ret
418973:	a1 00 80 43 00       	mov    0x438000,%eax
418978:	0b 05 04 80 43 00    	or     0x438004,%eax
41897e:	75 1a                	jne    0x41899a
418980:	b8 00 80 43 00       	mov    $0x438000,%eax
418985:	50                   	push   %eax
418986:	50                   	push   %eax
418987:	68 00 ec 42 00       	push   $0x42ec00
41898c:	68 0c 43 40 00       	push   $0x40430c
418991:	ff 15 70 a3 43 00    	call   *0x43a370
418997:	c2 08 00             	ret    $0x8
41899a:	33 c0                	xor    %eax,%eax
41899c:	eb f9                	jmp    0x418997
41899e:	83 3d bc 8e 43 00 00 	cmpl   $0x0,0x438ebc
4189a5:	0f 85 1a a6 00 00    	jne    0x422fc5
4189ab:	c3                   	ret
4189ac:	6a 14                	push   $0x14
4189ae:	b8 fc ed 41 00       	mov    $0x41edfc,%eax
4189b3:	e8 bf 24 00 00       	call   0x41ae77
4189b8:	8b f9                	mov    %ecx,%edi
4189ba:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4189bd:	8b 75 08             	mov    0x8(%ebp),%esi
4189c0:	8b ce                	mov    %esi,%ecx
4189c2:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4189c6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4189ca:	6a 00                	push   $0x0
4189cc:	8b 46 08             	mov    0x8(%esi),%eax
4189cf:	89 45 e8             	mov    %eax,-0x18(%ebp)
4189d2:	e8 b1 b8 ff ff       	call   0x414288
4189d7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4189da:	51                   	push   %ecx
4189db:	ff 75 e8             	push   -0x18(%ebp)
4189de:	50                   	push   %eax
4189df:	57                   	push   %edi
4189e0:	e8 9b 56 00 00       	call   0x41e080
4189e5:	8b f8                	mov    %eax,%edi
4189e7:	81 ff 7a 00 07 80    	cmp    $0x8007007a,%edi
4189ed:	0f 84 05 ad 00 00    	je     0x4236f8
4189f3:	85 ff                	test   %edi,%edi
4189f5:	0f 89 28 ad 00 00    	jns    0x423723
4189fb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4189ff:	85 ff                	test   %edi,%edi
418a01:	79 09                	jns    0x418a0c
418a03:	6a 00                	push   $0x0
418a05:	8b ce                	mov    %esi,%ecx
418a07:	e8 f8 b6 ff ff       	call   0x414104
418a0c:	8b c7                	mov    %edi,%eax
418a0e:	e8 c9 23 00 00       	call   0x41addc
418a13:	c2 04 00             	ret    $0x4
418a16:	cc                   	int3
418a17:	cc                   	int3
418a18:	cc                   	int3
418a19:	cc                   	int3
418a1a:	cc                   	int3
418a1b:	cc                   	int3
418a1c:	cc                   	int3
418a1d:	cc                   	int3
418a1e:	cc                   	int3
418a1f:	cc                   	int3
418a20:	8b ff                	mov    %edi,%edi
418a22:	55                   	push   %ebp
418a23:	8b ec                	mov    %esp,%ebp
418a25:	83 ec 10             	sub    $0x10,%esp
418a28:	53                   	push   %ebx
418a29:	56                   	push   %esi
418a2a:	8b f1                	mov    %ecx,%esi
418a2c:	89 55 f8             	mov    %edx,-0x8(%ebp)
418a2f:	57                   	push   %edi
418a30:	8b fa                	mov    %edx,%edi
418a32:	89 75 fc             	mov    %esi,-0x4(%ebp)
418a35:	e8 36 01 00 00       	call   0x418b70
418a3a:	f7 de                	neg    %esi
418a3c:	33 db                	xor    %ebx,%ebx
418a3e:	83 e6 03             	and    $0x3,%esi
418a41:	85 ff                	test   %edi,%edi
418a43:	74 19                	je     0x418a5e
418a45:	8b 15 34 8a 43 00    	mov    0x438a34,%edx
418a4b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418a4e:	8b ff                	mov    %edi,%edi
418a50:	85 f6                	test   %esi,%esi
418a52:	0f 85 60 ae 00 00    	jne    0x4238b8
418a58:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418a5b:	89 7d f8             	mov    %edi,-0x8(%ebp)
418a5e:	8b c7                	mov    %edi,%eax
418a60:	c1 e8 02             	shr    $0x2,%eax
418a63:	89 45 f4             	mov    %eax,-0xc(%ebp)
418a66:	8b f0                	mov    %eax,%esi
418a68:	e8 03 01 00 00       	call   0x418b70
418a6d:	8b 45 fc             	mov    -0x4(%ebp),%eax
418a70:	8b 3d 34 8a 43 00    	mov    0x438a34,%edi
418a76:	8d 04 b0             	lea    (%eax,%esi,4),%eax
418a79:	89 45 f0             	mov    %eax,-0x10(%ebp)
418a7c:	8d 50 fc             	lea    -0x4(%eax),%edx
418a7f:	85 f6                	test   %esi,%esi
418a81:	74 49                	je     0x418acc
418a83:	8b 3d 24 8a 43 00    	mov    0x438a24,%edi
418a89:	8d 52 fc             	lea    -0x4(%edx),%edx
418a8c:	8b c3                	mov    %ebx,%eax
418a8e:	c1 e8 10             	shr    $0x10,%eax
418a91:	0f b6 c8             	movzbl %al,%ecx
418a94:	8b c3                	mov    %ebx,%eax
418a96:	c1 e8 08             	shr    $0x8,%eax
418a99:	0f b6 c0             	movzbl %al,%eax
418a9c:	8b 0c 8f             	mov    (%edi,%ecx,4),%ecx
418a9f:	8b 3d 28 8a 43 00    	mov    0x438a28,%edi
418aa5:	33 0c 87             	xor    (%edi,%eax,4),%ecx
418aa8:	8b c3                	mov    %ebx,%eax
418aaa:	8b 3d 2c 8a 43 00    	mov    0x438a2c,%edi
418ab0:	c1 e8 18             	shr    $0x18,%eax
418ab3:	33 0c 87             	xor    (%edi,%eax,4),%ecx
418ab6:	8b 3d 34 8a 43 00    	mov    0x438a34,%edi
418abc:	0f b6 c3             	movzbl %bl,%eax
418abf:	33 0c 87             	xor    (%edi,%eax,4),%ecx
418ac2:	33 4a 04             	xor    0x4(%edx),%ecx
418ac5:	8b d9                	mov    %ecx,%ebx
418ac7:	83 ee 01             	sub    $0x1,%esi
418aca:	75 b7                	jne    0x418a83
418acc:	8b 15 24 8a 43 00    	mov    0x438a24,%edx
418ad2:	8b c3                	mov    %ebx,%eax
418ad4:	8b 35 28 8a 43 00    	mov    0x438a28,%esi
418ada:	c1 e8 10             	shr    $0x10,%eax
418add:	0f b6 c8             	movzbl %al,%ecx
418ae0:	8b c3                	mov    %ebx,%eax
418ae2:	c1 e8 08             	shr    $0x8,%eax
418ae5:	0f b6 c0             	movzbl %al,%eax
418ae8:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
418aeb:	8b 15 2c 8a 43 00    	mov    0x438a2c,%edx
418af1:	33 0c 86             	xor    (%esi,%eax,4),%ecx
418af4:	8b c3                	mov    %ebx,%eax
418af6:	c1 e8 18             	shr    $0x18,%eax
418af9:	33 0c 82             	xor    (%edx,%eax,4),%ecx
418afc:	8b 55 f8             	mov    -0x8(%ebp),%edx
418aff:	0f b6 c3             	movzbl %bl,%eax
418b02:	33 0c 87             	xor    (%edi,%eax,4),%ecx
418b05:	6b 45 f4 fc          	imul   $0xfffffffc,-0xc(%ebp),%eax
418b09:	33 cb                	xor    %ebx,%ecx
418b0b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418b0e:	03 d0                	add    %eax,%edx
418b10:	74 1f                	je     0x418b31
418b12:	8b 5d f0             	mov    -0x10(%ebp),%ebx
418b15:	8b c1                	mov    %ecx,%eax
418b17:	8d 5b 01             	lea    0x1(%ebx),%ebx
418b1a:	c1 e8 18             	shr    $0x18,%eax
418b1d:	c1 e1 08             	shl    $0x8,%ecx
418b20:	33 0c 87             	xor    (%edi,%eax,4),%ecx
418b23:	0f b6 43 ff          	movzbl -0x1(%ebx),%eax
418b27:	33 c8                	xor    %eax,%ecx
418b29:	83 ea 01             	sub    $0x1,%edx
418b2c:	75 e7                	jne    0x418b15
418b2e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418b31:	8b 1d 2c 8a 43 00    	mov    0x438a2c,%ebx
418b37:	8b c1                	mov    %ecx,%eax
418b39:	c1 e8 10             	shr    $0x10,%eax
418b3c:	0f b6 d0             	movzbl %al,%edx
418b3f:	8b c1                	mov    %ecx,%eax
418b41:	c1 e8 08             	shr    $0x8,%eax
418b44:	0f b6 c8             	movzbl %al,%ecx
418b47:	a1 24 8a 43 00       	mov    0x438a24,%eax
418b4c:	8b 04 90             	mov    (%eax,%edx,4),%eax
418b4f:	33 04 8e             	xor    (%esi,%ecx,4),%eax
418b52:	8b 55 fc             	mov    -0x4(%ebp),%edx
418b55:	8b ca                	mov    %edx,%ecx
418b57:	c1 e9 18             	shr    $0x18,%ecx
418b5a:	33 04 8b             	xor    (%ebx,%ecx,4),%eax
418b5d:	0f b6 ca             	movzbl %dl,%ecx
418b60:	33 04 8f             	xor    (%edi,%ecx,4),%eax
418b63:	5f                   	pop    %edi
418b64:	5e                   	pop    %esi
418b65:	33 c2                	xor    %edx,%eax
418b67:	5b                   	pop    %ebx
418b68:	8b e5                	mov    %ebp,%esp
418b6a:	5d                   	pop    %ebp
418b6b:	c3                   	ret
418b6c:	cc                   	int3
418b6d:	cc                   	int3
418b6e:	cc                   	int3
418b6f:	cc                   	int3
418b70:	8b ff                	mov    %edi,%edi
418b72:	55                   	push   %ebp
418b73:	8b ec                	mov    %esp,%ebp
418b75:	80 3d d9 8e 43 00 00 	cmpb   $0x0,0x438ed9
418b7c:	74 02                	je     0x418b80
418b7e:	5d                   	pop    %ebp
418b7f:	c3                   	ret
418b80:	53                   	push   %ebx
418b81:	56                   	push   %esi
418b82:	57                   	push   %edi
418b83:	68 00 10 00 00       	push   $0x1000
418b88:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418b8e:	8b f0                	mov    %eax,%esi
418b90:	68 00 04 00 00       	push   $0x400
418b95:	89 35 30 8a 43 00    	mov    %esi,0x438a30
418b9b:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418ba1:	68 00 04 00 00       	push   $0x400
418ba6:	a3 34 8a 43 00       	mov    %eax,0x438a34
418bab:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418bb1:	8b d8                	mov    %eax,%ebx
418bb3:	68 00 04 00 00       	push   $0x400
418bb8:	89 1d 28 8a 43 00    	mov    %ebx,0x438a28
418bbe:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418bc4:	8b f8                	mov    %eax,%edi
418bc6:	68 00 04 00 00       	push   $0x400
418bcb:	89 3d 24 8a 43 00    	mov    %edi,0x438a24
418bd1:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418bd7:	83 c4 14             	add    $0x14,%esp
418bda:	a3 2c 8a 43 00       	mov    %eax,0x438a2c
418bdf:	85 f6                	test   %esi,%esi
418be1:	0f 84 f1 ac 00 00    	je     0x4238d8
418be7:	83 3d 34 8a 43 00 00 	cmpl   $0x0,0x438a34
418bee:	0f 84 e4 ac 00 00    	je     0x4238d8
418bf4:	85 db                	test   %ebx,%ebx
418bf6:	0f 84 dc ac 00 00    	je     0x4238d8
418bfc:	85 ff                	test   %edi,%edi
418bfe:	0f 84 d4 ac 00 00    	je     0x4238d8
418c04:	85 c0                	test   %eax,%eax
418c06:	0f 84 cc ac 00 00    	je     0x4238d8
418c0c:	b8 b7 1d c1 04       	mov    $0x4c11db7,%eax
418c11:	bf 04 00 00 00       	mov    $0x4,%edi
418c16:	eb 08                	jmp    0x418c20
418c18:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
418c1f:	90                   	nop
418c20:	89 04 37             	mov    %eax,(%edi,%esi,1)
418c23:	b9 20 00 00 00       	mov    $0x20,%ecx
418c28:	8d 14 00             	lea    (%eax,%eax,1),%edx
418c2b:	85 c0                	test   %eax,%eax
418c2d:	8b c2                	mov    %edx,%eax
418c2f:	79 05                	jns    0x418c36
418c31:	35 b7 1d c1 04       	xor    $0x4c11db7,%eax
418c36:	83 e9 01             	sub    $0x1,%ecx
418c39:	75 ed                	jne    0x418c28
418c3b:	83 c7 04             	add    $0x4,%edi
418c3e:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
418c44:	73 08                	jae    0x418c4e
418c46:	8b 35 30 8a 43 00    	mov    0x438a30,%esi
418c4c:	eb d2                	jmp    0x418c20
418c4e:	51                   	push   %ecx
418c4f:	6a 20                	push   $0x20
418c51:	ff 35 34 8a 43 00    	push   0x438a34