40c7e4:	0b d7                	or     %edi,%edx
40c7e6:	83 e2 03             	and    $0x3,%edx
40c7e9:	74 32                	je     0x40c81d
40c7eb:	a9 01 00 00 00       	test   $0x1,%eax
40c7f0:	74 0b                	je     0x40c7fd
40c7f2:	8a 0e                	mov    (%esi),%cl
40c7f4:	3a 0f                	cmp    (%edi),%cl
40c7f6:	75 52                	jne    0x40c84a
40c7f8:	46                   	inc    %esi
40c7f9:	47                   	inc    %edi
40c7fa:	48                   	dec    %eax
40c7fb:	74 1d                	je     0x40c81a
40c7fd:	8a 0e                	mov    (%esi),%cl
40c7ff:	8a 17                	mov    (%edi),%dl
40c801:	38 d1                	cmp    %dl,%cl
40c803:	75 45                	jne    0x40c84a
40c805:	8a 4e 01             	mov    0x1(%esi),%cl
40c808:	8a 57 01             	mov    0x1(%edi),%dl
40c80b:	38 d1                	cmp    %dl,%cl
40c80d:	75 3b                	jne    0x40c84a
40c80f:	83 c7 02             	add    $0x2,%edi
40c812:	83 c6 02             	add    $0x2,%esi
40c815:	83 e8 02             	sub    $0x2,%eax
40c818:	75 e3                	jne    0x40c7fd
40c81a:	5f                   	pop    %edi
40c81b:	5e                   	pop    %esi
40c81c:	c3                   	ret
40c81d:	8b c8                	mov    %eax,%ecx
40c81f:	83 e0 03             	and    $0x3,%eax
40c822:	c1 e9 02             	shr    $0x2,%ecx
40c825:	74 2b                	je     0x40c852
40c827:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
40c829:	74 27                	je     0x40c852
40c82b:	8b 4e fc             	mov    -0x4(%esi),%ecx
40c82e:	8b 57 fc             	mov    -0x4(%edi),%edx
40c831:	38 d1                	cmp    %dl,%cl
40c833:	75 10                	jne    0x40c845
40c835:	38 f5                	cmp    %dh,%ch
40c837:	75 0c                	jne    0x40c845
40c839:	c1 e9 10             	shr    $0x10,%ecx
40c83c:	c1 ea 10             	shr    $0x10,%edx
40c83f:	38 d1                	cmp    %dl,%cl
40c841:	75 02                	jne    0x40c845
40c843:	38 f5                	cmp    %dh,%ch
40c845:	b8 00 00 00 00       	mov    $0x0,%eax
40c84a:	1b c0                	sbb    %eax,%eax
40c84c:	5f                   	pop    %edi
40c84d:	83 d8 ff             	sbb    $0xffffffff,%eax
40c850:	5e                   	pop    %esi
40c851:	c3                   	ret
40c852:	85 c0                	test   %eax,%eax
40c854:	74 c4                	je     0x40c81a
40c856:	8b 16                	mov    (%esi),%edx
40c858:	8b 0f                	mov    (%edi),%ecx
40c85a:	38 ca                	cmp    %cl,%dl
40c85c:	75 e7                	jne    0x40c845
40c85e:	48                   	dec    %eax
40c85f:	74 18                	je     0x40c879
40c861:	38 ee                	cmp    %ch,%dh
40c863:	75 e0                	jne    0x40c845
40c865:	48                   	dec    %eax
40c866:	74 11                	je     0x40c879
40c868:	81 e1 00 00 ff 00    	and    $0xff0000,%ecx
40c86e:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
40c874:	3b d1                	cmp    %ecx,%edx
40c876:	75 cd                	jne    0x40c845
40c878:	48                   	dec    %eax
40c879:	5f                   	pop    %edi
40c87a:	5e                   	pop    %esi
40c87b:	c3                   	ret
40c87c:	cc                   	int3
40c87d:	cc                   	int3
40c87e:	cc                   	int3
40c87f:	cc                   	int3
40c880:	56                   	push   %esi
40c881:	57                   	push   %edi
40c882:	6a 74                	push   $0x74
40c884:	6a 01                	push   $0x1
40c886:	33 ff                	xor    %edi,%edi
40c888:	e8 a3 36 00 00       	call   0x40ff30
40c88d:	8b f0                	mov    %eax,%esi
40c88f:	83 c4 08             	add    $0x8,%esp
40c892:	85 f6                	test   %esi,%esi
40c894:	74 4a                	je     0x40c8e0
40c896:	56                   	push   %esi
40c897:	e8 84 19 00 00       	call   0x40e220
40c89c:	8b 44 24 18          	mov    0x18(%esp),%eax
40c8a0:	8b 54 24 24          	mov    0x24(%esp),%edx
40c8a4:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
40c8a8:	83 c4 04             	add    $0x4,%esp
40c8ab:	89 46 48             	mov    %eax,0x48(%esi)
40c8ae:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40c8b2:	52                   	push   %edx
40c8b3:	8b 54 24 10          	mov    0x10(%esp),%edx
40c8b7:	89 4e 4c             	mov    %ecx,0x4c(%esi)
40c8ba:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40c8be:	50                   	push   %eax
40c8bf:	56                   	push   %esi
40c8c0:	68 00 c9 40 00       	push   $0x40c900
40c8c5:	51                   	push   %ecx
40c8c6:	52                   	push   %edx
40c8c7:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
40c8ce:	ff 15 50 96 43 00    	call   *0x439650
40c8d4:	85 c0                	test   %eax,%eax
40c8d6:	75 20                	jne    0x40c8f8
40c8d8:	ff 15 ec 96 43 00    	call   *0x4396ec
40c8de:	8b f8                	mov    %eax,%edi
40c8e0:	56                   	push   %esi
40c8e1:	e8 aa fc ff ff       	call   0x40c590
40c8e6:	83 c4 04             	add    $0x4,%esp
40c8e9:	85 ff                	test   %edi,%edi
40c8eb:	74 09                	je     0x40c8f6
40c8ed:	57                   	push   %edi
40c8ee:	e8 1d 0d 00 00       	call   0x40d610
40c8f3:	83 c4 04             	add    $0x4,%esp
40c8f6:	33 c0                	xor    %eax,%eax
40c8f8:	5f                   	pop    %edi
40c8f9:	5e                   	pop    %esi
40c8fa:	c3                   	ret
40c8fb:	90                   	nop
40c8fc:	90                   	nop
40c8fd:	90                   	nop
40c8fe:	90                   	nop
40c8ff:	90                   	nop
40c900:	55                   	push   %ebp
40c901:	8b ec                	mov    %esp,%ebp
40c903:	6a ff                	push   $0xffffffff
40c905:	68 f0 be 42 00       	push   $0x42bef0
40c90a:	68 18 f1 40 00       	push   $0x40f118
40c90f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c915:	50                   	push   %eax
40c916:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c91d:	83 c4 f4             	add    $0xfffffff4,%esp
40c920:	53                   	push   %ebx
40c921:	56                   	push   %esi
40c922:	57                   	push   %edi
40c923:	89 65 e8             	mov    %esp,-0x18(%ebp)
40c926:	8b 75 08             	mov    0x8(%ebp),%esi
40c929:	56                   	push   %esi
40c92a:	a1 40 1b 43 00       	mov    0x431b40,%eax
40c92f:	50                   	push   %eax
40c930:	ff 15 c0 96 43 00    	call   *0x4396c0
40c936:	85 c0                	test   %eax,%eax
40c938:	75 0a                	jne    0x40c944
40c93a:	6a 10                	push   $0x10
40c93c:	e8 4f fa ff ff       	call   0x40c390
40c941:	83 c4 04             	add    $0x4,%esp
40c944:	ff 15 4c 97 43 00    	call   *0x43974c
40c94a:	89 06                	mov    %eax,(%esi)
40c94c:	a1 b0 8a 43 00       	mov    0x438ab0,%eax
40c951:	85 c0                	test   %eax,%eax
40c953:	74 02                	je     0x40c957
40c955:	ff d0                	call   *%eax
40c957:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c95e:	8b 4e 4c             	mov    0x4c(%esi),%ecx
40c961:	51                   	push   %ecx
40c962:	ff 56 48             	call   *0x48(%esi)
40c965:	50                   	push   %eax
40c966:	e8 45 00 00 00       	call   0x40c9b0
40c96b:	eb 21                	jmp    0x40c98e
40c96d:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c970:	8b 10                	mov    (%eax),%edx
40c972:	8b 0a                	mov    (%edx),%ecx
40c974:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40c977:	50                   	push   %eax
40c978:	51                   	push   %ecx
40c979:	e8 92 1d 00 00       	call   0x40e710
40c97e:	83 c4 08             	add    $0x8,%esp
40c981:	c3                   	ret
40c982:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c985:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c988:	50                   	push   %eax
40c989:	e8 02 01 00 00       	call   0x40ca90
40c98e:	83 c4 04             	add    $0x4,%esp
40c991:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c998:	33 c0                	xor    %eax,%eax
40c99a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c99d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c9a4:	5f                   	pop    %edi
40c9a5:	5e                   	pop    %esi
40c9a6:	5b                   	pop    %ebx
40c9a7:	8b e5                	mov    %ebp,%esp
40c9a9:	5d                   	pop    %ebp
40c9aa:	c2 04 00             	ret    $0x4
40c9ad:	90                   	nop
40c9ae:	90                   	nop
40c9af:	90                   	nop
40c9b0:	a1 b4 8a 43 00       	mov    0x438ab4,%eax
40c9b5:	56                   	push   %esi
40c9b6:	85 c0                	test   %eax,%eax
40c9b8:	74 02                	je     0x40c9bc
40c9ba:	ff d0                	call   *%eax
40c9bc:	e8 7f 18 00 00       	call   0x40e240
40c9c1:	8b f0                	mov    %eax,%esi
40c9c3:	85 f6                	test   %esi,%esi
40c9c5:	75 0a                	jne    0x40c9d1
40c9c7:	6a 10                	push   $0x10
40c9c9:	e8 c2 f9 ff ff       	call   0x40c390
40c9ce:	83 c4 04             	add    $0x4,%esp
40c9d1:	56                   	push   %esi
40c9d2:	e8 e9 18 00 00       	call   0x40e2c0
40c9d7:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c9db:	83 c4 04             	add    $0x4,%esp
40c9de:	50                   	push   %eax
40c9df:	ff 15 1c 96 43 00    	call   *0x43961c
40c9e5:	5e                   	pop    %esi
40c9e6:	c3                   	ret
40c9e7:	90                   	nop
40c9e8:	90                   	nop
40c9e9:	90                   	nop
40c9ea:	90                   	nop
40c9eb:	90                   	nop
40c9ec:	90                   	nop
40c9ed:	90                   	nop
40c9ee:	90                   	nop
40c9ef:	90                   	nop
40c9f0:	53                   	push   %ebx
40c9f1:	56                   	push   %esi
40c9f2:	8b 74 24 0c          	mov    0xc(%esp),%esi
40c9f6:	57                   	push   %edi
40c9f7:	85 f6                	test   %esi,%esi
40c9f9:	74 3f                	je     0x40ca3a
40c9fb:	8b fe                	mov    %esi,%edi
40c9fd:	83 c9 ff             	or     $0xffffffff,%ecx
40ca00:	33 c0                	xor    %eax,%eax
40ca02:	f2 ae                	repnz scas %es:(%edi),%al
40ca04:	f7 d1                	not    %ecx
40ca06:	51                   	push   %ecx
40ca07:	e8 b4 fa ff ff       	call   0x40c4c0
40ca0c:	8b d0                	mov    %eax,%edx
40ca0e:	83 c4 04             	add    $0x4,%esp
40ca11:	85 d2                	test   %edx,%edx
40ca13:	74 25                	je     0x40ca3a
40ca15:	8b fe                	mov    %esi,%edi
40ca17:	83 c9 ff             	or     $0xffffffff,%ecx
40ca1a:	33 c0                	xor    %eax,%eax
40ca1c:	f2 ae                	repnz scas %es:(%edi),%al
40ca1e:	f7 d1                	not    %ecx
40ca20:	2b f9                	sub    %ecx,%edi
40ca22:	8b f7                	mov    %edi,%esi
40ca24:	8b d9                	mov    %ecx,%ebx
40ca26:	8b fa                	mov    %edx,%edi
40ca28:	8b c7                	mov    %edi,%eax
40ca2a:	c1 e9 02             	shr    $0x2,%ecx
40ca2d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40ca2f:	8b cb                	mov    %ebx,%ecx
40ca31:	83 e1 03             	and    $0x3,%ecx
40ca34:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40ca36:	5f                   	pop    %edi
40ca37:	5e                   	pop    %esi
40ca38:	5b                   	pop    %ebx
40ca39:	c3                   	ret
40ca3a:	5f                   	pop    %edi
40ca3b:	5e                   	pop    %esi
40ca3c:	33 c0                	xor    %eax,%eax
40ca3e:	5b                   	pop    %ebx
40ca3f:	c3                   	ret
40ca40:	a1 ac 8a 43 00       	mov    0x438aac,%eax
40ca45:	85 c0                	test   %eax,%eax
40ca47:	74 02                	je     0x40ca4b
40ca49:	ff d0                	call   *%eax
40ca4b:	68 ec 10 43 00       	push   $0x4310ec
40ca50:	68 dc 10 43 00       	push   $0x4310dc
40ca55:	e8 36 01 00 00       	call   0x40cb90
40ca5a:	83 c4 08             	add    $0x8,%esp
40ca5d:	68 d8 10 43 00       	push   $0x4310d8
40ca62:	68 00 10 43 00       	push   $0x431000
40ca67:	e8 24 01 00 00       	call   0x40cb90
40ca6c:	83 c4 08             	add    $0x8,%esp
40ca6f:	c3                   	ret
40ca70:	8b 44 24 04          	mov    0x4(%esp),%eax
40ca74:	6a 00                	push   $0x0
40ca76:	6a 00                	push   $0x0
40ca78:	50                   	push   %eax
40ca79:	e8 32 00 00 00       	call   0x40cab0
40ca7e:	83 c4 0c             	add    $0xc,%esp
40ca81:	c3                   	ret
40ca82:	90                   	nop
40ca83:	90                   	nop
40ca84:	90                   	nop
40ca85:	90                   	nop
40ca86:	90                   	nop
40ca87:	90                   	nop
40ca88:	90                   	nop
40ca89:	90                   	nop
40ca8a:	90                   	nop
40ca8b:	90                   	nop
40ca8c:	90                   	nop
40ca8d:	90                   	nop
40ca8e:	90                   	nop
40ca8f:	90                   	nop
40ca90:	8b 44 24 04          	mov    0x4(%esp),%eax
40ca94:	6a 00                	push   $0x0
40ca96:	6a 01                	push   $0x1
40ca98:	50                   	push   %eax
40ca99:	e8 12 00 00 00       	call   0x40cab0
40ca9e:	83 c4 0c             	add    $0xc,%esp
40caa1:	c3                   	ret
40caa2:	90                   	nop
40caa3:	90                   	nop
40caa4:	90                   	nop
40caa5:	90                   	nop
40caa6:	90                   	nop
40caa7:	90                   	nop
40caa8:	90                   	nop
40caa9:	90                   	nop
40caaa:	90                   	nop
40caab:	90                   	nop
40caac:	90                   	nop
40caad:	90                   	nop
40caae:	90                   	nop
40caaf:	90                   	nop
40cab0:	53                   	push   %ebx
40cab1:	55                   	push   %ebp
40cab2:	56                   	push   %esi
40cab3:	e8 b8 00 00 00       	call   0x40cb70
40cab8:	a1 70 70 43 00       	mov    0x437070,%eax
40cabd:	8b 6c 24 10          	mov    0x10(%esp),%ebp
40cac1:	83 f8 01             	cmp    $0x1,%eax
40cac4:	75 0e                	jne    0x40cad4
40cac6:	55                   	push   %ebp
40cac7:	ff 15 70 97 43 00    	call   *0x439770
40cacd:	50                   	push   %eax
40cace:	ff 15 d8 95 43 00    	call   *0x4395d8
40cad4:	8b 44 24 14          	mov    0x14(%esp),%eax
40cad8:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40cadc:	85 c0                	test   %eax,%eax
40cade:	c7 05 6c 70 43 00 01 	movl   $0x1,0x43706c
40cae5:	00 00 00
40cae8:	88 1d 68 70 43 00    	mov    %bl,0x437068
40caee:	75 3e                	jne    0x40cb2e
40caf0:	8b 0d a8 8a 43 00    	mov    0x438aa8,%ecx
40caf6:	85 c9                	test   %ecx,%ecx
40caf8:	74 22                	je     0x40cb1c
40cafa:	8b 35 a4 8a 43 00    	mov    0x438aa4,%esi
40cb00:	83 ee 04             	sub    $0x4,%esi
40cb03:	3b f1                	cmp    %ecx,%esi
40cb05:	72 15                	jb     0x40cb1c
40cb07:	8b 06                	mov    (%esi),%eax
40cb09:	85 c0                	test   %eax,%eax
40cb0b:	74 08                	je     0x40cb15
40cb0d:	ff d0                	call   *%eax
40cb0f:	8b 0d a8 8a 43 00    	mov    0x438aa8,%ecx
40cb15:	83 ee 04             	sub    $0x4,%esi
40cb18:	3b f1                	cmp    %ecx,%esi
40cb1a:	73 eb                	jae    0x40cb07
40cb1c:	68 f8 10 43 00       	push   $0x4310f8
40cb21:	68 f0 10 43 00       	push   $0x4310f0
40cb26:	e8 65 00 00 00       	call   0x40cb90
40cb2b:	83 c4 08             	add    $0x8,%esp