40784c:	cc                   	int3
40784d:	cc                   	int3
40784e:	cc                   	int3
40784f:	cc                   	int3
407850:	8b ff                	mov    %edi,%edi
407852:	55                   	push   %ebp
407853:	8b ec                	mov    %esp,%ebp
407855:	56                   	push   %esi
407856:	8b 35 18 4d 42 00    	mov    0x424d18,%esi
40785c:	85 f6                	test   %esi,%esi
40785e:	75 1d                	jne    0x40787d
407860:	68 04 1b 40 00       	push   $0x401b04
407865:	e8 c5 ff ff ff       	call   0x40782f
40786a:	50                   	push   %eax
40786b:	ff 15 68 60 42 00    	call   *0x426068
407871:	8b f0                	mov    %eax,%esi
407873:	89 35 18 4d 42 00    	mov    %esi,0x424d18
407879:	85 f6                	test   %esi,%esi
40787b:	74 0d                	je     0x40788a
40787d:	ff 75 08             	push   0x8(%ebp)
407880:	8b ce                	mov    %esi,%ecx
407882:	ff 15 78 64 42 00    	call   *0x426478
407888:	ff d6                	call   *%esi
40788a:	5e                   	pop    %esi
40788b:	5d                   	pop    %ebp
40788c:	c2 04 00             	ret    $0x4
40788f:	cc                   	int3
407890:	8b ff                	mov    %edi,%edi
407892:	56                   	push   %esi
407893:	8b 35 10 4d 42 00    	mov    0x424d10,%esi
407899:	85 f6                	test   %esi,%esi
40789b:	75 21                	jne    0x4078be
40789d:	68 20 1b 40 00       	push   $0x401b20
4078a2:	e8 88 ff ff ff       	call   0x40782f
4078a7:	50                   	push   %eax
4078a8:	ff 15 68 60 42 00    	call   *0x426068
4078ae:	8b f0                	mov    %eax,%esi
4078b0:	89 35 10 4d 42 00    	mov    %esi,0x424d10
4078b6:	85 f6                	test   %esi,%esi
4078b8:	75 04                	jne    0x4078be
4078ba:	32 c0                	xor    %al,%al
4078bc:	5e                   	pop    %esi
4078bd:	c3                   	ret
4078be:	8b ce                	mov    %esi,%ecx
4078c0:	ff 15 78 64 42 00    	call   *0x426478
4078c6:	ff d6                	call   *%esi
4078c8:	5e                   	pop    %esi
4078c9:	c3                   	ret
4078ca:	cc                   	int3
4078cb:	cc                   	int3
4078cc:	cc                   	int3
4078cd:	cc                   	int3
4078ce:	cc                   	int3
4078cf:	cc                   	int3
4078d0:	8b ff                	mov    %edi,%edi
4078d2:	55                   	push   %ebp
4078d3:	8b ec                	mov    %esp,%ebp
4078d5:	56                   	push   %esi
4078d6:	8b 35 f0 4c 42 00    	mov    0x424cf0,%esi
4078dc:	85 f6                	test   %esi,%esi
4078de:	75 1d                	jne    0x4078fd
4078e0:	68 3c 1b 40 00       	push   $0x401b3c
4078e5:	e8 45 ff ff ff       	call   0x40782f
4078ea:	50                   	push   %eax
4078eb:	ff 15 68 60 42 00    	call   *0x426068
4078f1:	8b f0                	mov    %eax,%esi
4078f3:	89 35 f0 4c 42 00    	mov    %esi,0x424cf0
4078f9:	85 f6                	test   %esi,%esi
4078fb:	74 10                	je     0x40790d
4078fd:	ff 75 0c             	push   0xc(%ebp)
407900:	8b ce                	mov    %esi,%ecx
407902:	ff 75 08             	push   0x8(%ebp)
407905:	ff 15 78 64 42 00    	call   *0x426478
40790b:	ff d6                	call   *%esi
40790d:	5e                   	pop    %esi
40790e:	5d                   	pop    %ebp
40790f:	c2 08 00             	ret    $0x8
407912:	8b ff                	mov    %edi,%edi
407914:	55                   	push   %ebp
407915:	8b ec                	mov    %esp,%ebp
407917:	56                   	push   %esi
407918:	8b 35 08 4d 42 00    	mov    0x424d08,%esi
40791e:	57                   	push   %edi
40791f:	8b f9                	mov    %ecx,%edi
407921:	85 f6                	test   %esi,%esi
407923:	75 24                	jne    0x407949
407925:	68 fc 1b 40 00       	push   $0x401bfc
40792a:	e8 00 ff ff ff       	call   0x40782f
40792f:	50                   	push   %eax
407930:	ff 15 68 60 42 00    	call   *0x426068
407936:	8b f0                	mov    %eax,%esi
407938:	89 35 08 4d 42 00    	mov    %esi,0x424d08
40793e:	85 f6                	test   %esi,%esi
407940:	75 07                	jne    0x407949
407942:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
407947:	eb 18                	jmp    0x407961
407949:	ff 75 14             	push   0x14(%ebp)
40794c:	8b ce                	mov    %esi,%ecx
40794e:	ff 75 10             	push   0x10(%ebp)
407951:	ff 75 0c             	push   0xc(%ebp)
407954:	6a 00                	push   $0x0
407956:	6a 00                	push   $0x0
407958:	57                   	push   %edi
407959:	ff 15 78 64 42 00    	call   *0x426478
40795f:	ff d6                	call   *%esi
407961:	5f                   	pop    %edi
407962:	5e                   	pop    %esi
407963:	5d                   	pop    %ebp
407964:	c2 10 00             	ret    $0x10
407967:	8b ff                	mov    %edi,%edi
407969:	55                   	push   %ebp
40796a:	8b ec                	mov    %esp,%ebp
40796c:	53                   	push   %ebx
40796d:	56                   	push   %esi
40796e:	8b 35 74 4d 42 00    	mov    0x424d74,%esi
407974:	8b d9                	mov    %ecx,%ebx
407976:	57                   	push   %edi
407977:	8b fa                	mov    %edx,%edi
407979:	85 f6                	test   %esi,%esi
40797b:	75 24                	jne    0x4079a1
40797d:	68 10 1c 40 00       	push   $0x401c10
407982:	e8 a8 fe ff ff       	call   0x40782f
407987:	50                   	push   %eax
407988:	ff 15 68 60 42 00    	call   *0x426068
40798e:	8b f0                	mov    %eax,%esi
407990:	89 35 74 4d 42 00    	mov    %esi,0x424d74
407996:	85 f6                	test   %esi,%esi
407998:	75 07                	jne    0x4079a1
40799a:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
40799f:	eb 19                	jmp    0x4079ba
4079a1:	ff 75 18             	push   0x18(%ebp)
4079a4:	8b ce                	mov    %esi,%ecx
4079a6:	ff 75 14             	push   0x14(%ebp)
4079a9:	6a 00                	push   $0x0
4079ab:	6a 00                	push   $0x0
4079ad:	ff 75 08             	push   0x8(%ebp)
4079b0:	57                   	push   %edi
4079b1:	53                   	push   %ebx
4079b2:	ff 15 78 64 42 00    	call   *0x426478
4079b8:	ff d6                	call   *%esi
4079ba:	5f                   	pop    %edi
4079bb:	5e                   	pop    %esi
4079bc:	5b                   	pop    %ebx
4079bd:	5d                   	pop    %ebp
4079be:	c2 14 00             	ret    $0x14
4079c1:	8b ff                	mov    %edi,%edi
4079c3:	55                   	push   %ebp
4079c4:	8b ec                	mov    %esp,%ebp
4079c6:	53                   	push   %ebx
4079c7:	56                   	push   %esi
4079c8:	8b 35 00 4d 42 00    	mov    0x424d00,%esi
4079ce:	8b d9                	mov    %ecx,%ebx
4079d0:	57                   	push   %edi
4079d1:	8b fa                	mov    %edx,%edi
4079d3:	85 f6                	test   %esi,%esi
4079d5:	75 24                	jne    0x4079fb
4079d7:	68 28 1c 40 00       	push   $0x401c28
4079dc:	e8 4e fe ff ff       	call   0x40782f
4079e1:	50                   	push   %eax
4079e2:	ff 15 68 60 42 00    	call   *0x426068
4079e8:	8b f0                	mov    %eax,%esi
4079ea:	89 35 00 4d 42 00    	mov    %esi,0x424d00
4079f0:	85 f6                	test   %esi,%esi
4079f2:	75 07                	jne    0x4079fb
4079f4:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
4079f9:	eb 1d                	jmp    0x407a18
4079fb:	33 c0                	xor    %eax,%eax
4079fd:	8b ce                	mov    %esi,%ecx
4079ff:	50                   	push   %eax
407a00:	50                   	push   %eax
407a01:	50                   	push   %eax
407a02:	ff 75 0c             	push   0xc(%ebp)
407a05:	ff 75 08             	push   0x8(%ebp)
407a08:	57                   	push   %edi
407a09:	ff 75 20             	push   0x20(%ebp)
407a0c:	ff 75 1c             	push   0x1c(%ebp)
407a0f:	53                   	push   %ebx
407a10:	ff 15 78 64 42 00    	call   *0x426478
407a16:	ff d6                	call   *%esi
407a18:	5f                   	pop    %edi
407a19:	5e                   	pop    %esi
407a1a:	5b                   	pop    %ebx
407a1b:	5d                   	pop    %ebp
407a1c:	c2 1c 00             	ret    $0x1c
407a1f:	83 39 00             	cmpl   $0x0,(%ecx)
407a22:	74 13                	je     0x407a37
407a24:	f7 41 04 00 3f 00 3f 	testl  $0x3f003f00,0x4(%ecx)
407a2b:	75 06                	jne    0x407a33
407a2d:	f6 41 04 02          	testb  $0x2,0x4(%ecx)
407a31:	74 04                	je     0x407a37
407a33:	33 c0                	xor    %eax,%eax
407a35:	40                   	inc    %eax
407a36:	c3                   	ret
407a37:	33 c0                	xor    %eax,%eax
407a39:	c3                   	ret
407a3a:	8b ff                	mov    %edi,%edi
407a3c:	55                   	push   %ebp
407a3d:	8b ec                	mov    %esp,%ebp
407a3f:	83 ec 30             	sub    $0x30,%esp
407a42:	a1 10 42 42 00       	mov    0x424210,%eax
407a47:	33 c5                	xor    %ebp,%eax
407a49:	89 45 f8             	mov    %eax,-0x8(%ebp)
407a4c:	53                   	push   %ebx
407a4d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407a50:	56                   	push   %esi
407a51:	57                   	push   %edi
407a52:	6a 34                	push   $0x34
407a54:	33 f6                	xor    %esi,%esi
407a56:	89 55 d4             	mov    %edx,-0x2c(%ebp)
407a59:	8b f9                	mov    %ecx,%edi
407a5b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
407a5e:	56                   	push   %esi
407a5f:	57                   	push   %edi
407a60:	89 7d f4             	mov    %edi,-0xc(%ebp)
407a63:	89 75 d0             	mov    %esi,-0x30(%ebp)
407a66:	e8 dd ad 01 00       	call   0x422848
407a6b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
407a6e:	83 c4 0c             	add    $0xc,%esp
407a71:	f7 db                	neg    %ebx
407a73:	89 07                	mov    %eax,(%edi)
407a75:	89 75 dc             	mov    %esi,-0x24(%ebp)
407a78:	1b db                	sbb    %ebx,%ebx
407a7a:	81 e3 c8 00 00 00    	and    $0xc8,%ebx
407a80:	85 c0                	test   %eax,%eax
407a82:	75 0d                	jne    0x407a91
407a84:	a1 58 1d 40 00       	mov    0x401d58,%eax
407a89:	8b 0d 5c 1d 40 00    	mov    0x401d5c,%ecx
407a8f:	eb 0b                	jmp    0x407a9c
407a91:	a1 f8 1c 40 00       	mov    0x401cf8,%eax
407a96:	8b 0d fc 1c 40 00    	mov    0x401cfc,%ecx
407a9c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
407a9f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
407aa2:	51                   	push   %ecx
407aa3:	ff 75 e0             	push   -0x20(%ebp)
407aa6:	89 45 e8             	mov    %eax,-0x18(%ebp)
407aa9:	8d 47 08             	lea    0x8(%edi),%eax
407aac:	50                   	push   %eax
407aad:	51                   	push   %ecx
407aae:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407ab1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
407ab4:	e8 59 fe ff ff       	call   0x407912
407ab9:	89 45 d8             	mov    %eax,-0x28(%ebp)
407abc:	6a 10                	push   $0x10
407abe:	5a                   	pop    %edx
407abf:	85 c0                	test   %eax,%eax
407ac1:	75 74                	jne    0x407b37
407ac3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
407ac6:	85 c9                	test   %ecx,%ecx
407ac8:	74 04                	je     0x407ace
407aca:	8b f1                	mov    %ecx,%esi
407acc:	eb 69                	jmp    0x407b37
407ace:	b8 c8 00 00 00       	mov    $0xc8,%eax
407ad3:	3b d8                	cmp    %eax,%ebx
407ad5:	73 02                	jae    0x407ad9
407ad7:	8b d8                	mov    %eax,%ebx
407ad9:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
407adc:	73 03                	jae    0x407ae1
407ade:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
407ae1:	3b da                	cmp    %edx,%ebx
407ae3:	73 02                	jae    0x407ae7
407ae5:	8b da                	mov    %edx,%ebx
407ae7:	8b 45 dc             	mov    -0x24(%ebp),%eax
407aea:	85 c0                	test   %eax,%eax
407aec:	74 11                	je     0x407aff
407aee:	50                   	push   %eax
407aef:	33 c9                	xor    %ecx,%ecx
407af1:	51                   	push   %ecx
407af2:	ff 15 7c 60 42 00    	call   *0x42607c
407af8:	50                   	push   %eax
407af9:	ff 15 a4 61 42 00    	call   *0x4261a4
407aff:	53                   	push   %ebx
407b00:	6a 00                	push   $0x0
407b02:	ff 15 7c 60 42 00    	call   *0x42607c
407b08:	50                   	push   %eax
407b09:	ff 15 a0 61 42 00    	call   *0x4261a0
407b0f:	8b f0                	mov    %eax,%esi
407b11:	89 75 dc             	mov    %esi,-0x24(%ebp)
407b14:	85 f6                	test   %esi,%esi
407b16:	0f 84 a3 00 00 00    	je     0x407bbf
407b1c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
407b1f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
407b22:	50                   	push   %eax
407b23:	56                   	push   %esi
407b24:	8d 47 08             	lea    0x8(%edi),%eax
407b27:	50                   	push   %eax
407b28:	51                   	push   %ecx
407b29:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407b2c:	e8 e1 fd ff ff       	call   0x407912
407b31:	6a 10                	push   $0x10
407b33:	89 45 d8             	mov    %eax,-0x28(%ebp)
407b36:	5a                   	pop    %edx
407b37:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
407b3c:	74 90                	je     0x407ace
407b3e:	85 c0                	test   %eax,%eax
407b40:	0f 85 52 01 00 00    	jne    0x407c98
407b46:	85 f6                	test   %esi,%esi
407b48:	0f 84 4a 01 00 00    	je     0x407c98
407b4e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
407b51:	83 fa 04             	cmp    $0x4,%edx
407b54:	76 05                	jbe    0x407b5b
407b56:	8a 06                	mov    (%esi),%al
407b58:	88 47 0c             	mov    %al,0xc(%edi)
407b5b:	6a 10                	push   $0x10
407b5d:	59                   	pop    %ecx
407b5e:	3b d1                	cmp    %ecx,%edx
407b60:	0f 82 dd 00 00 00    	jb     0x407c43
407b66:	80 7f 0c 02          	cmpb   $0x2,0xc(%edi)
407b6a:	0f 85 d3 00 00 00    	jne    0x407c43
407b70:	0f b7 46 02          	movzwl 0x2(%esi),%eax
407b74:	66 3b c1             	cmp    %cx,%ax
407b77:	0f 82 c6 00 00 00    	jb     0x407c43
407b7d:	0f b7 46 04          	movzwl 0x4(%esi),%eax
407b81:	6b c8 0c             	imul   $0xc,%eax,%ecx
407b84:	0f b7 46 06          	movzwl 0x6(%esi),%eax
407b88:	c1 e0 04             	shl    $0x4,%eax
407b8b:	03 c8                	add    %eax,%ecx
407b8d:	0f b7 46 02          	movzwl 0x2(%esi),%eax
407b91:	03 c8                	add    %eax,%ecx
407b93:	3b d1                	cmp    %ecx,%edx
407b95:	0f 82 a5 00 00 00    	jb     0x407c40
407b9b:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
407b9f:	33 c0                	xor    %eax,%eax
407ba1:	89 45 e0             	mov    %eax,-0x20(%ebp)
407ba4:	66 85 c9             	test   %cx,%cx
407ba7:	74 4d                	je     0x407bf6
407ba9:	89 45 d8             	mov    %eax,-0x28(%ebp)
407bac:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
407baf:	75 18                	jne    0x407bc9
407bb1:	8b 0d 28 1d 40 00    	mov    0x401d28,%ecx
407bb7:	8b 15 2c 1d 40 00    	mov    0x401d2c,%edx
407bbd:	eb 16                	jmp    0x407bd5
407bbf:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
407bc4:	e9 e9 00 00 00       	jmp    0x407cb2
407bc9:	8b 0d 48 1d 40 00    	mov    0x401d48,%ecx
407bcf:	8b 15 4c 1d 40 00    	mov    0x401d4c,%edx
407bd5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
407bd8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407bdb:	51                   	push   %ecx
407bdc:	50                   	push   %eax
407bdd:	8d 45 e0             	lea    -0x20(%ebp),%eax
407be0:	89 55 f4             	mov    %edx,-0xc(%ebp)
407be3:	50                   	push   %eax
407be4:	51                   	push   %ecx
407be5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
407be8:	e8 25 fd ff ff       	call   0x407912
407bed:	8b 45 e0             	mov    -0x20(%ebp),%eax
407bf0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
407bf3:	89 45 d0             	mov    %eax,-0x30(%ebp)
407bf6:	8d 4e 10             	lea    0x10(%esi),%ecx
407bf9:	89 77 14             	mov    %esi,0x14(%edi)