4077ec:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4077f2:	50                   	push   %eax
4077f3:	53                   	push   %ebx
4077f4:	56                   	push   %esi
4077f5:	57                   	push   %edi
4077f6:	a1 74 b6 42 00       	mov    0x42b674,%eax
4077fb:	33 c5                	xor    %ebp,%eax
4077fd:	50                   	push   %eax
4077fe:	8d 45 f4             	lea    -0xc(%ebp),%eax
407801:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407807:	8b f1                	mov    %ecx,%esi
407809:	33 db                	xor    %ebx,%ebx
40780b:	8d 8e 74 01 00 00    	lea    0x174(%esi),%ecx
407811:	43                   	inc    %ebx
407812:	53                   	push   %ebx
407813:	e8 0d 54 00 00       	call   0x40cc25
407818:	53                   	push   %ebx
407819:	8d 8e 68 01 00 00    	lea    0x168(%esi),%ecx
40781f:	e8 01 54 00 00       	call   0x40cc25
407824:	53                   	push   %ebx
407825:	8d 8e 5c 01 00 00    	lea    0x15c(%esi),%ecx
40782b:	e8 f5 53 00 00       	call   0x40cc25
407830:	53                   	push   %ebx
407831:	8d 8e 50 01 00 00    	lea    0x150(%esi),%ecx
407837:	e8 e9 53 00 00       	call   0x40cc25
40783c:	bf 50 79 40 00       	mov    $0x407950,%edi
407841:	8d 86 cc 00 00 00    	lea    0xcc(%esi),%eax
407847:	57                   	push   %edi
407848:	6a 0b                	push   $0xb
40784a:	6a 0c                	push   $0xc
40784c:	50                   	push   %eax
40784d:	e8 88 05 02 00       	call   0x427dda
407852:	57                   	push   %edi
407853:	6a 0a                	push   $0xa
407855:	6a 0c                	push   $0xc
407857:	8d 46 54             	lea    0x54(%esi),%eax
40785a:	50                   	push   %eax
40785b:	e8 7a 05 02 00       	call   0x427dda
407860:	53                   	push   %ebx
407861:	8d 4e 48             	lea    0x48(%esi),%ecx
407864:	e8 bc 53 00 00       	call   0x40cc25
407869:	53                   	push   %ebx
40786a:	8d 4e 3c             	lea    0x3c(%esi),%ecx
40786d:	e8 b3 53 00 00       	call   0x40cc25
407872:	53                   	push   %ebx
407873:	8d 4e 30             	lea    0x30(%esi),%ecx
407876:	e8 aa 53 00 00       	call   0x40cc25
40787b:	53                   	push   %ebx
40787c:	8d 4e 24             	lea    0x24(%esi),%ecx
40787f:	e8 a1 53 00 00       	call   0x40cc25
407884:	53                   	push   %ebx
407885:	8d 4e 18             	lea    0x18(%esi),%ecx
407888:	e8 98 53 00 00       	call   0x40cc25
40788d:	53                   	push   %ebx
40788e:	8d 4e 0c             	lea    0xc(%esi),%ecx
407891:	e8 8f 53 00 00       	call   0x40cc25
407896:	53                   	push   %ebx
407897:	8b ce                	mov    %esi,%ecx
407899:	e8 87 53 00 00       	call   0x40cc25
40789e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4078a1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4078a8:	59                   	pop    %ecx
4078a9:	5f                   	pop    %edi
4078aa:	5e                   	pop    %esi
4078ab:	5b                   	pop    %ebx
4078ac:	c9                   	leave
4078ad:	c3                   	ret
4078ae:	6a 18                	push   $0x18
4078b0:	b8 14 84 42 00       	mov    $0x428414,%eax
4078b5:	e8 ae 07 02 00       	call   0x428068
4078ba:	33 f6                	xor    %esi,%esi
4078bc:	89 75 dc             	mov    %esi,-0x24(%ebp)
4078bf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4078c2:	89 75 e0             	mov    %esi,-0x20(%ebp)
4078c5:	89 75 e8             	mov    %esi,-0x18(%ebp)
4078c8:	89 75 ec             	mov    %esi,-0x14(%ebp)
4078cb:	56                   	push   %esi
4078cc:	56                   	push   %esi
4078cd:	6a 01                	push   $0x1
4078cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
4078d2:	56                   	push   %esi
4078d3:	89 75 f0             	mov    %esi,-0x10(%ebp)
4078d6:	ff 15 38 c2 42 00    	call   *0x42c238
4078dc:	ff 15 5c c2 42 00    	call   *0x42c25c
4078e2:	8b f8                	mov    %eax,%edi
4078e4:	85 ff                	test   %edi,%edi
4078e6:	75 27                	jne    0x40790f
4078e8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4078ed:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4078f2:	74 42                	je     0x407936
4078f4:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4078f8:	74 3c                	je     0x407936
4078fa:	ff 70 14             	push   0x14(%eax)
4078fd:	ba 98 1b 40 00       	mov    $0x401b98,%edx
407902:	ff 70 10             	push   0x10(%eax)
407905:	6a 11                	push   $0x11
407907:	59                   	pop    %ecx
407908:	e8 a3 fa ff ff       	call   0x4073b0
40790d:	eb 27                	jmp    0x407936
40790f:	e8 da c4 00 00       	call   0x413dee
407914:	b9 80 1b 40 00       	mov    $0x401b80,%ecx
407919:	e8 2a c4 00 00       	call   0x413d48
40791e:	6a ff                	push   $0xffffffff
407920:	ff 15 00 f0 42 00    	call   *0x42f000
407926:	8d 45 f0             	lea    -0x10(%ebp),%eax
407929:	50                   	push   %eax
40792a:	57                   	push   %edi
40792b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40792e:	e8 dd fc ff ff       	call   0x407610
407933:	8b 75 f0             	mov    -0x10(%ebp),%esi
407936:	6a 01                	push   $0x1
407938:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40793b:	e8 e5 52 00 00       	call   0x40cc25
407940:	8b c6                	mov    %esi,%eax
407942:	e8 ef 06 02 00       	call   0x428036
407947:	c3                   	ret
407948:	cc                   	int3
407949:	cc                   	int3
40794a:	cc                   	int3
40794b:	cc                   	int3
40794c:	cc                   	int3
40794d:	cc                   	int3
40794e:	cc                   	int3
40794f:	cc                   	int3
407950:	6a 01                	push   $0x1
407952:	e8 ce 52 00 00       	call   0x40cc25
407957:	c3                   	ret
407958:	8b ff                	mov    %edi,%edi
40795a:	55                   	push   %ebp
40795b:	8b ec                	mov    %esp,%ebp
40795d:	51                   	push   %ecx
40795e:	53                   	push   %ebx
40795f:	56                   	push   %esi
407960:	57                   	push   %edi
407961:	8b 7d 10             	mov    0x10(%ebp),%edi
407964:	33 c0                	xor    %eax,%eax
407966:	89 45 fc             	mov    %eax,-0x4(%ebp)
407969:	85 ff                	test   %edi,%edi
40796b:	74 20                	je     0x40798d
40796d:	8b f7                	mov    %edi,%esi
40796f:	8d 5e 02             	lea    0x2(%esi),%ebx
407972:	66 8b 06             	mov    (%esi),%ax
407975:	83 c6 02             	add    $0x2,%esi
407978:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
40797c:	75 f4                	jne    0x407972
40797e:	2b f3                	sub    %ebx,%esi
407980:	d1 fe                	sar    $1,%esi
407982:	33 c0                	xor    %eax,%eax
407984:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
40798b:	eb 03                	jmp    0x407990
40798d:	6a 0a                	push   $0xa
40798f:	5e                   	pop    %esi
407990:	85 ff                	test   %edi,%edi
407992:	75 05                	jne    0x407999
407994:	bf 18 1c 40 00       	mov    $0x401c18,%edi
407999:	50                   	push   %eax
40799a:	56                   	push   %esi
40799b:	57                   	push   %edi
40799c:	51                   	push   %ecx
40799d:	52                   	push   %edx
40799e:	6a 2b                	push   $0x2b
4079a0:	ff 75 0c             	push   0xc(%ebp)
4079a3:	ff 75 08             	push   0x8(%ebp)
4079a6:	ff 15 68 c4 42 00    	call   *0x42c468
4079ac:	83 c4 20             	add    $0x20,%esp
4079af:	5f                   	pop    %edi
4079b0:	5e                   	pop    %esi
4079b1:	5b                   	pop    %ebx
4079b2:	c9                   	leave
4079b3:	c2 0c 00             	ret    $0xc
4079b6:	8b ff                	mov    %edi,%edi
4079b8:	55                   	push   %ebp
4079b9:	8b ec                	mov    %esp,%ebp
4079bb:	51                   	push   %ecx
4079bc:	53                   	push   %ebx
4079bd:	56                   	push   %esi
4079be:	57                   	push   %edi
4079bf:	8b 7d 10             	mov    0x10(%ebp),%edi
4079c2:	33 c0                	xor    %eax,%eax
4079c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4079c7:	85 ff                	test   %edi,%edi
4079c9:	74 20                	je     0x4079eb
4079cb:	8b f7                	mov    %edi,%esi
4079cd:	8d 5e 02             	lea    0x2(%esi),%ebx
4079d0:	66 8b 06             	mov    (%esi),%ax
4079d3:	83 c6 02             	add    $0x2,%esi
4079d6:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4079da:	75 f4                	jne    0x4079d0
4079dc:	2b f3                	sub    %ebx,%esi
4079de:	d1 fe                	sar    $1,%esi
4079e0:	33 c0                	xor    %eax,%eax
4079e2:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
4079e9:	eb 03                	jmp    0x4079ee
4079eb:	6a 0a                	push   $0xa
4079ed:	5e                   	pop    %esi
4079ee:	85 ff                	test   %edi,%edi
4079f0:	75 05                	jne    0x4079f7
4079f2:	bf 18 1c 40 00       	mov    $0x401c18,%edi
4079f7:	50                   	push   %eax
4079f8:	6a 04                	push   $0x4
4079fa:	8d 45 14             	lea    0x14(%ebp),%eax
4079fd:	50                   	push   %eax
4079fe:	56                   	push   %esi
4079ff:	57                   	push   %edi
407a00:	51                   	push   %ecx
407a01:	52                   	push   %edx
407a02:	6a 2b                	push   $0x2b
407a04:	ff 75 0c             	push   0xc(%ebp)
407a07:	ff 75 08             	push   0x8(%ebp)
407a0a:	ff 15 68 c4 42 00    	call   *0x42c468
407a10:	83 c4 28             	add    $0x28,%esp
407a13:	5f                   	pop    %edi
407a14:	5e                   	pop    %esi
407a15:	5b                   	pop    %ebx
407a16:	c9                   	leave
407a17:	c2 10 00             	ret    $0x10
407a1a:	8b ff                	mov    %edi,%edi
407a1c:	55                   	push   %ebp
407a1d:	8b ec                	mov    %esp,%ebp
407a1f:	83 e4 f8             	and    $0xfffffff8,%esp
407a22:	51                   	push   %ecx
407a23:	53                   	push   %ebx
407a24:	8b 5d 08             	mov    0x8(%ebp),%ebx
407a27:	56                   	push   %esi
407a28:	57                   	push   %edi
407a29:	8b f9                	mov    %ecx,%edi
407a2b:	85 db                	test   %ebx,%ebx
407a2d:	0f 84 51 01 00 00    	je     0x407b84
407a33:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407a37:	0f 84 47 01 00 00    	je     0x407b84
407a3d:	53                   	push   %ebx
407a3e:	c7 44 24 10 04 00 00 	movl   $0x4,0x10(%esp)
407a45:	00
407a46:	e8 6c 01 00 00       	call   0x407bb7
407a4b:	8b f0                	mov    %eax,%esi
407a4d:	85 f6                	test   %esi,%esi
407a4f:	79 33                	jns    0x407a84
407a51:	a1 00 b0 42 00       	mov    0x42b000,%eax
407a56:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407a5b:	0f 84 f8 00 00 00    	je     0x407b59
407a61:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407a65:	0f 84 ee 00 00 00    	je     0x407b59
407a6b:	53                   	push   %ebx
407a6c:	ff 70 14             	push   0x14(%eax)
407a6f:	ba 30 21 40 00       	mov    $0x402130,%edx
407a74:	ff 70 10             	push   0x10(%eax)
407a77:	6a 0b                	push   $0xb
407a79:	59                   	pop    %ecx
407a7a:	e8 d9 fe ff ff       	call   0x407958
407a7f:	e9 d5 00 00 00       	jmp    0x407b59
407a84:	8d 4f 48             	lea    0x48(%edi),%ecx
407a87:	8d 97 90 01 00 00    	lea    0x190(%edi),%edx
407a8d:	e8 05 4f 00 00       	call   0x40c997
407a92:	85 c0                	test   %eax,%eax
407a94:	74 3a                	je     0x407ad0
407a96:	8b ca                	mov    %edx,%ecx
407a98:	e8 fa 4e 00 00       	call   0x40c997
407a9d:	85 c0                	test   %eax,%eax
407a9f:	74 2f                	je     0x407ad0
407aa1:	a1 00 b0 42 00       	mov    0x42b000,%eax
407aa6:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407aab:	74 19                	je     0x407ac6
407aad:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407ab1:	74 13                	je     0x407ac6
407ab3:	ff 70 14             	push   0x14(%eax)
407ab6:	ba 30 21 40 00       	mov    $0x402130,%edx
407abb:	ff 70 10             	push   0x10(%eax)
407abe:	6a 0c                	push   $0xc
407ac0:	59                   	pop    %ecx
407ac1:	e8 ea f8 ff ff       	call   0x4073b0
407ac6:	be 05 40 00 80       	mov    $0x80004005,%esi
407acb:	e9 89 00 00 00       	jmp    0x407b59
407ad0:	8d 4f 48             	lea    0x48(%edi),%ecx
407ad3:	e8 b2 4e 00 00       	call   0x40c98a
407ad8:	85 c0                	test   %eax,%eax
407ada:	74 39                	je     0x407b15
407adc:	c7 87 88 01 00 00 01 	movl   $0x1,0x188(%edi)
407ae3:	00 00 00
407ae6:	8d 44 24 0c          	lea    0xc(%esp),%eax
407aea:	8b cf                	mov    %edi,%ecx
407aec:	50                   	push   %eax
407aed:	e8 ba 07 00 00       	call   0x4082ac
407af2:	8b f0                	mov    %eax,%esi
407af4:	85 f6                	test   %esi,%esi
407af6:	79 5f                	jns    0x407b57
407af8:	a1 00 b0 42 00       	mov    0x42b000,%eax
407afd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407b02:	74 55                	je     0x407b59
407b04:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407b08:	74 4f                	je     0x407b59
407b0a:	56                   	push   %esi
407b0b:	ff 70 14             	push   0x14(%eax)
407b0e:	ff 70 10             	push   0x10(%eax)
407b11:	6a 0e                	push   $0xe
407b13:	eb 35                	jmp    0x407b4a
407b15:	8b ca                	mov    %edx,%ecx
407b17:	e8 6e 4e 00 00       	call   0x40c98a
407b1c:	85 c0                	test   %eax,%eax
407b1e:	74 c6                	je     0x407ae6
407b20:	ff 32                	push   (%edx)
407b22:	8b cf                	mov    %edi,%ecx
407b24:	e8 79 0a 00 00       	call   0x4085a2
407b29:	8b f0                	mov    %eax,%esi
407b2b:	85 f6                	test   %esi,%esi
407b2d:	79 b7                	jns    0x407ae6
407b2f:	a1 00 b0 42 00       	mov    0x42b000,%eax
407b34:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407b39:	74 1e                	je     0x407b59
407b3b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407b3f:	74 18                	je     0x407b59
407b41:	56                   	push   %esi
407b42:	ff 70 14             	push   0x14(%eax)
407b45:	ff 70 10             	push   0x10(%eax)
407b48:	6a 0d                	push   $0xd
407b4a:	ba 30 21 40 00       	mov    $0x402130,%edx
407b4f:	59                   	pop    %ecx
407b50:	e8 79 f8 ff ff       	call   0x4073ce
407b55:	eb 02                	jmp    0x407b59
407b57:	33 f6                	xor    %esi,%esi
407b59:	f6 87 80 01 00 00 01 	testb  $0x1,0x180(%edi)
407b60:	74 07                	je     0x407b69
407b62:	53                   	push   %ebx
407b63:	ff 15 28 c2 42 00    	call   *0x42c228
407b69:	8b 4d 0c             	mov    0xc(%ebp),%ecx
407b6c:	8b c6                	mov    %esi,%eax
407b6e:	c1 e8 1f             	shr    $0x1f,%eax
407b71:	89 01                	mov    %eax,(%ecx)
407b73:	83 7c 24 0c 03       	cmpl   $0x3,0xc(%esp)
407b78:	75 06                	jne    0x407b80
407b7a:	c7 01 10 00 00 00    	movl   $0x10,(%ecx)
407b80:	8b c6                	mov    %esi,%eax
407b82:	eb 2a                	jmp    0x407bae
407b84:	a1 00 b0 42 00       	mov    0x42b000,%eax
407b89:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407b8e:	74 19                	je     0x407ba9
407b90:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407b94:	74 13                	je     0x407ba9
407b96:	ff 70 14             	push   0x14(%eax)
407b99:	ba 30 21 40 00       	mov    $0x402130,%edx
407b9e:	ff 70 10             	push   0x10(%eax)
407ba1:	6a 0a                	push   $0xa
407ba3:	59                   	pop    %ecx
407ba4:	e8 07 f8 ff ff       	call   0x4073b0
407ba9:	b8 57 00 07 80       	mov    $0x80070057,%eax
407bae:	5f                   	pop    %edi
407baf:	5e                   	pop    %esi
407bb0:	5b                   	pop    %ebx
407bb1:	8b e5                	mov    %ebp,%esp
407bb3:	5d                   	pop    %ebp
407bb4:	c2 08 00             	ret    $0x8