40d7c8:	81 fe 17 00 00 c0    	cmp    $0xc0000017,%esi
40d7ce:	75 07                	jne    0x40d7d7
40d7d0:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40d7d5:	5e                   	pop    %esi
40d7d6:	c3                   	ret
40d7d7:	57                   	push   %edi
40d7d8:	8b 3d 3c bb 42 00    	mov    0x42bb3c,%edi
40d7de:	85 ff                	test   %edi,%edi
40d7e0:	74 24                	je     0x40d806
40d7e2:	56                   	push   %esi
40d7e3:	8b cf                	mov    %edi,%ecx
40d7e5:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d7eb:	ff d7                	call   *%edi
40d7ed:	85 c0                	test   %eax,%eax
40d7ef:	74 15                	je     0x40d806
40d7f1:	3d 3d 01 00 00       	cmp    $0x13d,%eax
40d7f6:	74 0e                	je     0x40d806
40d7f8:	85 c0                	test   %eax,%eax
40d7fa:	7e 12                	jle    0x40d80e
40d7fc:	0f b7 c0             	movzwl %ax,%eax
40d7ff:	0d 00 00 07 80       	or     $0x80070000,%eax
40d804:	eb 08                	jmp    0x40d80e
40d806:	81 ce 00 00 00 10    	or     $0x10000000,%esi
40d80c:	8b c6                	mov    %esi,%eax
40d80e:	5f                   	pop    %edi
40d80f:	5e                   	pop    %esi
40d810:	c3                   	ret
40d811:	8b ff                	mov    %edi,%edi
40d813:	55                   	push   %ebp
40d814:	8b ec                	mov    %esp,%ebp
40d816:	56                   	push   %esi
40d817:	57                   	push   %edi
40d818:	8b f2                	mov    %edx,%esi
40d81a:	8b f9                	mov    %ecx,%edi
40d81c:	ff 15 18 c2 42 00    	call   *0x42c218
40d822:	85 c0                	test   %eax,%eax
40d824:	75 1d                	jne    0x40d843
40d826:	68 9c 02 07 80       	push   $0x8007029c
40d82b:	6a 02                	push   $0x2
40d82d:	ff 75 14             	push   0x14(%ebp)
40d830:	8b d6                	mov    %esi,%edx
40d832:	8b cf                	mov    %edi,%ecx
40d834:	50                   	push   %eax
40d835:	50                   	push   %eax
40d836:	ff 75 08             	push   0x8(%ebp)
40d839:	e8 e1 07 00 00       	call   0x40e01f
40d83e:	b8 9c 02 00 00       	mov    $0x29c,%eax
40d843:	5f                   	pop    %edi
40d844:	5e                   	pop    %esi
40d845:	5d                   	pop    %ebp
40d846:	c2 10 00             	ret    $0x10
40d849:	8b ff                	mov    %edi,%edi
40d84b:	55                   	push   %ebp
40d84c:	8b ec                	mov    %esp,%ebp
40d84e:	ff 75 04             	push   0x4(%ebp)
40d851:	33 d2                	xor    %edx,%edx
40d853:	51                   	push   %ecx
40d854:	51                   	push   %ecx
40d855:	6a 00                	push   $0x0
40d857:	33 c9                	xor    %ecx,%ecx
40d859:	e8 b3 ff ff ff       	call   0x40d811
40d85e:	85 c0                	test   %eax,%eax
40d860:	7e 08                	jle    0x40d86a
40d862:	0f b7 c0             	movzwl %ax,%eax
40d865:	0d 00 00 07 80       	or     $0x80070000,%eax
40d86a:	5d                   	pop    %ebp
40d86b:	c3                   	ret
40d86c:	8b ff                	mov    %edi,%edi
40d86e:	55                   	push   %ebp
40d86f:	8b ec                	mov    %esp,%ebp
40d871:	8b 45 0c             	mov    0xc(%ebp),%eax
40d874:	56                   	push   %esi
40d875:	33 f6                	xor    %esi,%esi
40d877:	85 c0                	test   %eax,%eax
40d879:	74 07                	je     0x40d882
40d87b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40d880:	76 05                	jbe    0x40d887
40d882:	be 57 00 07 80       	mov    $0x80070057,%esi
40d887:	85 f6                	test   %esi,%esi
40d889:	78 36                	js     0x40d8c1
40d88b:	53                   	push   %ebx
40d88c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d88f:	8d 4d 14             	lea    0x14(%ebp),%ecx
40d892:	57                   	push   %edi
40d893:	51                   	push   %ecx
40d894:	ff 75 10             	push   0x10(%ebp)
40d897:	8d 78 ff             	lea    -0x1(%eax),%edi
40d89a:	33 f6                	xor    %esi,%esi
40d89c:	57                   	push   %edi
40d89d:	50                   	push   %eax
40d89e:	53                   	push   %ebx
40d89f:	ff 15 5c c3 42 00    	call   *0x42c35c
40d8a5:	83 c4 14             	add    $0x14,%esp
40d8a8:	85 c0                	test   %eax,%eax
40d8aa:	78 08                	js     0x40d8b4
40d8ac:	3b c7                	cmp    %edi,%eax
40d8ae:	77 04                	ja     0x40d8b4
40d8b0:	75 0b                	jne    0x40d8bd
40d8b2:	eb 05                	jmp    0x40d8b9
40d8b4:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40d8b9:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
40d8bd:	5f                   	pop    %edi
40d8be:	5b                   	pop    %ebx
40d8bf:	eb 0a                	jmp    0x40d8cb
40d8c1:	85 c0                	test   %eax,%eax
40d8c3:	74 06                	je     0x40d8cb
40d8c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d8c8:	c6 01 00             	movb   $0x0,(%ecx)
40d8cb:	8b c6                	mov    %esi,%eax
40d8cd:	5e                   	pop    %esi
40d8ce:	5d                   	pop    %ebp
40d8cf:	c3                   	ret
40d8d0:	85 c9                	test   %ecx,%ecx
40d8d2:	75 04                	jne    0x40d8d8
40d8d4:	33 c0                	xor    %eax,%eax
40d8d6:	40                   	inc    %eax
40d8d7:	c3                   	ret
40d8d8:	8d 51 01             	lea    0x1(%ecx),%edx
40d8db:	8a 01                	mov    (%ecx),%al
40d8dd:	41                   	inc    %ecx
40d8de:	84 c0                	test   %al,%al
40d8e0:	75 f9                	jne    0x40d8db
40d8e2:	2b ca                	sub    %edx,%ecx
40d8e4:	8d 41 01             	lea    0x1(%ecx),%eax
40d8e7:	c3                   	ret
40d8e8:	85 c9                	test   %ecx,%ecx
40d8ea:	75 04                	jne    0x40d8f0
40d8ec:	6a 02                	push   $0x2
40d8ee:	58                   	pop    %eax
40d8ef:	c3                   	ret
40d8f0:	8d 51 02             	lea    0x2(%ecx),%edx
40d8f3:	66 8b 01             	mov    (%ecx),%ax
40d8f6:	83 c1 02             	add    $0x2,%ecx
40d8f9:	66 85 c0             	test   %ax,%ax
40d8fc:	75 f5                	jne    0x40d8f3
40d8fe:	2b ca                	sub    %edx,%ecx
40d900:	d1 f9                	sar    $1,%ecx
40d902:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
40d909:	c3                   	ret
40d90a:	80 3d 30 bb 42 00 00 	cmpb   $0x0,0x42bb30
40d911:	53                   	push   %ebx
40d912:	75 23                	jne    0x40d937
40d914:	56                   	push   %esi
40d915:	8b 35 34 bb 42 00    	mov    0x42bb34,%esi
40d91b:	33 db                	xor    %ebx,%ebx
40d91d:	85 f6                	test   %esi,%esi
40d91f:	74 0f                	je     0x40d930
40d921:	8b ce                	mov    %esi,%ecx
40d923:	ff 15 d4 c4 42 00    	call   *0x42c4d4
40d929:	ff d6                	call   *%esi
40d92b:	0f b6 c0             	movzbl %al,%eax
40d92e:	eb 02                	jmp    0x40d932
40d930:	8b c3                	mov    %ebx,%eax
40d932:	5e                   	pop    %esi
40d933:	85 c0                	test   %eax,%eax
40d935:	74 02                	je     0x40d939
40d937:	b3 01                	mov    $0x1,%bl
40d939:	8a c3                	mov    %bl,%al
40d93b:	5b                   	pop    %ebx
40d93c:	c3                   	ret
40d93d:	8b ff                	mov    %edi,%edi
40d93f:	55                   	push   %ebp
40d940:	8b ec                	mov    %esp,%ebp
40d942:	51                   	push   %ecx
40d943:	53                   	push   %ebx
40d944:	8b 5d 08             	mov    0x8(%ebp),%ebx
40d947:	8b c1                	mov    %ecx,%eax
40d949:	56                   	push   %esi
40d94a:	57                   	push   %edi
40d94b:	6a 14                	push   $0x14
40d94d:	59                   	pop    %ecx
40d94e:	8b f8                	mov    %eax,%edi
40d950:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d953:	8b f3                	mov    %ebx,%esi
40d955:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40d957:	8b 4b 40             	mov    0x40(%ebx),%ecx
40d95a:	e8 89 ff ff ff       	call   0x40d8e8
40d95f:	8b 4b 34             	mov    0x34(%ebx),%ecx
40d962:	8b f0                	mov    %eax,%esi
40d964:	e8 7f ff ff ff       	call   0x40d8e8
40d969:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40d96c:	03 f0                	add    %eax,%esi
40d96e:	e8 75 ff ff ff       	call   0x40d8e8
40d973:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
40d976:	03 f0                	add    %eax,%esi
40d978:	e8 53 ff ff ff       	call   0x40d8d0
40d97d:	8b 4b 30             	mov    0x30(%ebx),%ecx
40d980:	03 f0                	add    %eax,%esi
40d982:	e8 49 ff ff ff       	call   0x40d8d0
40d987:	8b 4b 28             	mov    0x28(%ebx),%ecx
40d98a:	03 f0                	add    %eax,%esi
40d98c:	e8 3f ff ff ff       	call   0x40d8d0
40d991:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40d994:	03 f0                	add    %eax,%esi
40d996:	e8 35 ff ff ff       	call   0x40d8d0
40d99b:	8b 4b 18             	mov    0x18(%ebx),%ecx
40d99e:	03 f0                	add    %eax,%esi
40d9a0:	e8 2b ff ff ff       	call   0x40d8d0
40d9a5:	8b 4b 14             	mov    0x14(%ebx),%ecx
40d9a8:	03 f0                	add    %eax,%esi
40d9aa:	e8 21 ff ff ff       	call   0x40d8d0
40d9af:	8b 4b 44             	mov    0x44(%ebx),%ecx
40d9b2:	03 f0                	add    %eax,%esi
40d9b4:	e8 17 ff ff ff       	call   0x40d8d0
40d9b9:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d9bc:	03 f0                	add    %eax,%esi
40d9be:	8d 7a 50             	lea    0x50(%edx),%edi
40d9c1:	8b 07                	mov    (%edi),%eax
40d9c3:	85 c0                	test   %eax,%eax
40d9c5:	74 0a                	je     0x40d9d1
40d9c7:	83 38 01             	cmpl   $0x1,(%eax)
40d9ca:	75 05                	jne    0x40d9d1
40d9cc:	39 72 54             	cmp    %esi,0x54(%edx)
40d9cf:	73 14                	jae    0x40d9e5
40d9d1:	8b cf                	mov    %edi,%ecx
40d9d3:	e8 75 fb ff ff       	call   0x40d54d
40d9d8:	56                   	push   %esi
40d9d9:	6a 00                	push   $0x0
40d9db:	8b cf                	mov    %edi,%ecx
40d9dd:	e8 99 fb ff ff       	call   0x40d57b
40d9e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
40d9e5:	8b 37                	mov    (%edi),%esi
40d9e7:	8b 4f 04             	mov    0x4(%edi),%ecx
40d9ea:	8d 46 04             	lea    0x4(%esi),%eax
40d9ed:	f7 de                	neg    %esi
40d9ef:	1b f6                	sbb    %esi,%esi
40d9f1:	23 f0                	and    %eax,%esi
40d9f3:	8b fe                	mov    %esi,%edi
40d9f5:	f7 df                	neg    %edi
40d9f7:	1b ff                	sbb    %edi,%edi
40d9f9:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
40d9fc:	23 f8                	and    %eax,%edi
40d9fe:	85 f6                	test   %esi,%esi
40da00:	0f 84 b1 00 00 00    	je     0x40dab7
40da06:	8d 42 0c             	lea    0xc(%edx),%eax
40da09:	8b ce                	mov    %esi,%ecx
40da0b:	50                   	push   %eax
40da0c:	ff 73 0c             	push   0xc(%ebx)
40da0f:	8b d7                	mov    %edi,%edx
40da11:	e8 b9 58 00 00       	call   0x4132cf
40da16:	8b 75 fc             	mov    -0x4(%ebp),%esi
40da19:	8b d7                	mov    %edi,%edx
40da1b:	8d 4e 14             	lea    0x14(%esi),%ecx
40da1e:	51                   	push   %ecx
40da1f:	ff 73 14             	push   0x14(%ebx)
40da22:	8b c8                	mov    %eax,%ecx
40da24:	e8 10 59 00 00       	call   0x413339
40da29:	8d 4e 18             	lea    0x18(%esi),%ecx
40da2c:	8b d7                	mov    %edi,%edx
40da2e:	51                   	push   %ecx
40da2f:	ff 73 18             	push   0x18(%ebx)
40da32:	8b c8                	mov    %eax,%ecx
40da34:	e8 00 59 00 00       	call   0x413339
40da39:	8d 4e 1c             	lea    0x1c(%esi),%ecx
40da3c:	8b d7                	mov    %edi,%edx
40da3e:	51                   	push   %ecx
40da3f:	ff 73 1c             	push   0x1c(%ebx)
40da42:	8b c8                	mov    %eax,%ecx
40da44:	e8 f0 58 00 00       	call   0x413339
40da49:	8d 4e 28             	lea    0x28(%esi),%ecx
40da4c:	8b d7                	mov    %edi,%edx
40da4e:	51                   	push   %ecx
40da4f:	ff 73 28             	push   0x28(%ebx)
40da52:	8b c8                	mov    %eax,%ecx
40da54:	e8 e0 58 00 00       	call   0x413339
40da59:	8d 4e 44             	lea    0x44(%esi),%ecx
40da5c:	8b d7                	mov    %edi,%edx
40da5e:	51                   	push   %ecx
40da5f:	ff 73 44             	push   0x44(%ebx)
40da62:	8b c8                	mov    %eax,%ecx
40da64:	e8 d0 58 00 00       	call   0x413339
40da69:	8d 4e 3c             	lea    0x3c(%esi),%ecx
40da6c:	8b d7                	mov    %edi,%edx
40da6e:	51                   	push   %ecx
40da6f:	ff 73 3c             	push   0x3c(%ebx)
40da72:	8b c8                	mov    %eax,%ecx
40da74:	e8 c0 58 00 00       	call   0x413339
40da79:	8d 4e 40             	lea    0x40(%esi),%ecx
40da7c:	8b d7                	mov    %edi,%edx
40da7e:	51                   	push   %ecx
40da7f:	ff 73 40             	push   0x40(%ebx)
40da82:	8b c8                	mov    %eax,%ecx
40da84:	e8 46 58 00 00       	call   0x4132cf
40da89:	8d 4e 30             	lea    0x30(%esi),%ecx
40da8c:	8b d7                	mov    %edi,%edx
40da8e:	51                   	push   %ecx
40da8f:	ff 73 30             	push   0x30(%ebx)
40da92:	8b c8                	mov    %eax,%ecx
40da94:	e8 a0 58 00 00       	call   0x413339
40da99:	8d 4e 34             	lea    0x34(%esi),%ecx
40da9c:	8b d7                	mov    %edi,%edx
40da9e:	51                   	push   %ecx
40da9f:	ff 73 34             	push   0x34(%ebx)
40daa2:	8b c8                	mov    %eax,%ecx
40daa4:	e8 26 58 00 00       	call   0x4132cf
40daa9:	2b f8                	sub    %eax,%edi
40daab:	57                   	push   %edi
40daac:	6a 00                	push   $0x0
40daae:	50                   	push   %eax
40daaf:	e8 f9 a8 01 00       	call   0x4283ad
40dab4:	83 c4 0c             	add    $0xc,%esp
40dab7:	5f                   	pop    %edi
40dab8:	5e                   	pop    %esi
40dab9:	5b                   	pop    %ebx
40daba:	c9                   	leave
40dabb:	c2 04 00             	ret    $0x4
40dabe:	8b ff                	mov    %edi,%edi
40dac0:	55                   	push   %ebp
40dac1:	8b ec                	mov    %esp,%ebp
40dac3:	56                   	push   %esi
40dac4:	57                   	push   %edi
40dac5:	8b f1                	mov    %ecx,%esi
40dac7:	ff 15 b4 c3 42 00    	call   *0x42c3b4
40dacd:	ff 75 08             	push   0x8(%ebp)
40dad0:	8d 4e 0c             	lea    0xc(%esi),%ecx
40dad3:	c7 06 bc 10 40 00    	movl   $0x4010bc,(%esi)
40dad9:	33 ff                	xor    %edi,%edi
40dadb:	89 79 50             	mov    %edi,0x50(%ecx)
40dade:	89 79 54             	mov    %edi,0x54(%ecx)
40dae1:	e8 57 fe ff ff       	call   0x40d93d
40dae6:	89 7e 64             	mov    %edi,0x64(%esi)
40dae9:	8b c6                	mov    %esi,%eax
40daeb:	89 7e 68             	mov    %edi,0x68(%esi)
40daee:	5f                   	pop    %edi
40daef:	5e                   	pop    %esi
40daf0:	5d                   	pop    %ebp
40daf1:	c2 04 00             	ret    $0x4
40daf4:	cc                   	int3
40daf5:	cc                   	int3
40daf6:	cc                   	int3
40daf7:	cc                   	int3
40daf8:	cc                   	int3
40daf9:	cc                   	int3
40dafa:	cc                   	int3
40dafb:	cc                   	int3
40dafc:	cc                   	int3
40dafd:	cc                   	int3
40dafe:	cc                   	int3
40daff:	cc                   	int3
40db00:	8b ff                	mov    %edi,%edi
40db02:	55                   	push   %ebp
40db03:	8b ec                	mov    %esp,%ebp
40db05:	b8 04 14 00 00       	mov    $0x1404,%eax
40db0a:	e8 61 a8 01 00       	call   0x428370
40db0f:	a1 74 b6 42 00       	mov    0x42b674,%eax
40db14:	33 c5                	xor    %ebp,%eax
40db16:	89 45 fc             	mov    %eax,-0x4(%ebp)
40db19:	56                   	push   %esi
40db1a:	8d 71 64             	lea    0x64(%ecx),%esi
40db1d:	8b 06                	mov    (%esi),%eax