40d8e1:	74 03                	je     0x40d8e6
40d8e3:	89 4b 20             	mov    %ecx,0x20(%ebx)
40d8e6:	a8 02                	test   $0x2,%al
40d8e8:	74 0a                	je     0x40d8f4
40d8ea:	89 4b 18             	mov    %ecx,0x18(%ebx)
40d8ed:	a8 08                	test   $0x8,%al
40d8ef:	74 03                	je     0x40d8f4
40d8f1:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
40d8f4:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40d8f7:	8d 43 24             	lea    0x24(%ebx),%eax
40d8fa:	50                   	push   %eax
40d8fb:	51                   	push   %ecx
40d8fc:	8b 11                	mov    (%ecx),%edx
40d8fe:	8b 72 10             	mov    0x10(%edx),%esi
40d901:	8b ce                	mov    %esi,%ecx
40d903:	ff 15 28 63 41 00    	call   *0x416328
40d909:	ff d6                	call   *%esi
40d90b:	8b f8                	mov    %eax,%edi
40d90d:	85 ff                	test   %edi,%edi
40d90f:	79 2f                	jns    0x40d940
40d911:	57                   	push   %edi
40d912:	68 f0 3b 40 00       	push   $0x403bf0
40d917:	68 64 01 00 00       	push   $0x164
40d91c:	eb 17                	jmp    0x40d935
40d91e:	bf 03 40 00 80       	mov    $0x80004003,%edi
40d923:	eb 1b                	jmp    0x40d940
40d925:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40d92a:	57                   	push   %edi
40d92b:	68 f0 3b 40 00       	push   $0x403bf0
40d930:	68 02 01 00 00       	push   $0x102
40d935:	68 98 3b 40 00       	push   $0x403b98
40d93a:	51                   	push   %ecx
40d93b:	e8 92 36 00 00       	call   0x410fd2
40d940:	33 db                	xor    %ebx,%ebx
40d942:	53                   	push   %ebx
40d943:	ff 15 b8 61 41 00    	call   *0x4161b8
40d949:	53                   	push   %ebx
40d94a:	ff 15 b8 61 41 00    	call   *0x4161b8
40d950:	53                   	push   %ebx
40d951:	ff 15 b8 61 41 00    	call   *0x4161b8
40d957:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40d95b:	e8 8f 90 ff ff       	call   0x4069ef
40d960:	8b 44 24 10          	mov    0x10(%esp),%eax
40d964:	85 c0                	test   %eax,%eax
40d966:	74 10                	je     0x40d978
40d968:	8b 08                	mov    (%eax),%ecx
40d96a:	50                   	push   %eax
40d96b:	8b 71 08             	mov    0x8(%ecx),%esi
40d96e:	8b ce                	mov    %esi,%ecx
40d970:	ff 15 28 63 41 00    	call   *0x416328
40d976:	ff d6                	call   *%esi
40d978:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40d97c:	85 c9                	test   %ecx,%ecx
40d97e:	74 10                	je     0x40d990
40d980:	8b 11                	mov    (%ecx),%edx
40d982:	51                   	push   %ecx
40d983:	8b 72 08             	mov    0x8(%edx),%esi
40d986:	8b ce                	mov    %esi,%ecx
40d988:	ff 15 28 63 41 00    	call   *0x416328
40d98e:	ff d6                	call   *%esi
40d990:	8b c7                	mov    %edi,%eax
40d992:	5f                   	pop    %edi
40d993:	5e                   	pop    %esi
40d994:	5b                   	pop    %ebx
40d995:	8b e5                	mov    %ebp,%esp
40d997:	5d                   	pop    %ebp
40d998:	c2 08 00             	ret    $0x8
40d99b:	cc                   	int3
40d99c:	cc                   	int3
40d99d:	cc                   	int3
40d99e:	cc                   	int3
40d99f:	cc                   	int3
40d9a0:	8b ff                	mov    %edi,%edi
40d9a2:	55                   	push   %ebp
40d9a3:	8b ec                	mov    %esp,%ebp
40d9a5:	8b 45 08             	mov    0x8(%ebp),%eax
40d9a8:	8b 48 0c             	mov    0xc(%eax),%ecx
40d9ab:	85 c9                	test   %ecx,%ecx
40d9ad:	74 17                	je     0x40d9c6
40d9af:	8b 01                	mov    (%ecx),%eax
40d9b1:	56                   	push   %esi
40d9b2:	ff 75 0c             	push   0xc(%ebp)
40d9b5:	8b 70 0c             	mov    0xc(%eax),%esi
40d9b8:	51                   	push   %ecx
40d9b9:	8b ce                	mov    %esi,%ecx
40d9bb:	ff 15 28 63 41 00    	call   *0x416328
40d9c1:	ff d6                	call   *%esi
40d9c3:	5e                   	pop    %esi
40d9c4:	eb 05                	jmp    0x40d9cb
40d9c6:	b8 03 40 00 80       	mov    $0x80004003,%eax
40d9cb:	5d                   	pop    %ebp
40d9cc:	c2 08 00             	ret    $0x8
40d9cf:	8b ff                	mov    %edi,%edi
40d9d1:	57                   	push   %edi
40d9d2:	8d 79 0c             	lea    0xc(%ecx),%edi
40d9d5:	8b 0f                	mov    (%edi),%ecx
40d9d7:	85 c9                	test   %ecx,%ecx
40d9d9:	74 1d                	je     0x40d9f8
40d9db:	83 27 00             	andl   $0x0,(%edi)
40d9de:	8b 01                	mov    (%ecx),%eax
40d9e0:	56                   	push   %esi
40d9e1:	51                   	push   %ecx
40d9e2:	8b 70 08             	mov    0x8(%eax),%esi
40d9e5:	8b ce                	mov    %esi,%ecx
40d9e7:	ff 15 28 63 41 00    	call   *0x416328
40d9ed:	ff d6                	call   *%esi
40d9ef:	51                   	push   %ecx
40d9f0:	8b cf                	mov    %edi,%ecx
40d9f2:	e8 52 00 00 00       	call   0x40da49
40d9f7:	5e                   	pop    %esi
40d9f8:	33 c0                	xor    %eax,%eax
40d9fa:	5f                   	pop    %edi
40d9fb:	c3                   	ret
40d9fc:	8b ff                	mov    %edi,%edi
40d9fe:	55                   	push   %ebp
40d9ff:	8b ec                	mov    %esp,%ebp
40da01:	8b 45 08             	mov    0x8(%ebp),%eax
40da04:	57                   	push   %edi
40da05:	33 ff                	xor    %edi,%edi
40da07:	21 38                	and    %edi,(%eax)
40da09:	8b 49 0c             	mov    0xc(%ecx),%ecx
40da0c:	85 c9                	test   %ecx,%ecx
40da0e:	74 16                	je     0x40da26
40da10:	89 08                	mov    %ecx,(%eax)
40da12:	8b 01                	mov    (%ecx),%eax
40da14:	56                   	push   %esi
40da15:	51                   	push   %ecx
40da16:	8b 70 04             	mov    0x4(%eax),%esi
40da19:	8b ce                	mov    %esi,%ecx
40da1b:	ff 15 28 63 41 00    	call   *0x416328
40da21:	ff d6                	call   *%esi
40da23:	5e                   	pop    %esi
40da24:	eb 1c                	jmp    0x40da42
40da26:	6a 00                	push   $0x0
40da28:	68 38 3c 40 00       	push   $0x403c38
40da2d:	68 b7 01 00 00       	push   $0x1b7
40da32:	68 98 3b 40 00       	push   $0x403b98
40da37:	51                   	push   %ecx
40da38:	bf 05 40 00 80       	mov    $0x80004005,%edi
40da3d:	e8 90 35 00 00       	call   0x410fd2
40da42:	8b c7                	mov    %edi,%eax
40da44:	5f                   	pop    %edi
40da45:	5d                   	pop    %ebp
40da46:	c2 04 00             	ret    $0x4
40da49:	8b ff                	mov    %edi,%edi
40da4b:	57                   	push   %edi
40da4c:	8b f9                	mov    %ecx,%edi
40da4e:	8b 17                	mov    (%edi),%edx
40da50:	85 d2                	test   %edx,%edx
40da52:	74 15                	je     0x40da69
40da54:	8b 02                	mov    (%edx),%eax
40da56:	56                   	push   %esi
40da57:	52                   	push   %edx
40da58:	8b 70 08             	mov    0x8(%eax),%esi
40da5b:	8b ce                	mov    %esi,%ecx
40da5d:	ff 15 28 63 41 00    	call   *0x416328
40da63:	ff d6                	call   *%esi
40da65:	83 27 00             	andl   $0x0,(%edi)
40da68:	5e                   	pop    %esi
40da69:	33 c0                	xor    %eax,%eax
40da6b:	5f                   	pop    %edi
40da6c:	c2 04 00             	ret    $0x4
40da6f:	6a 04                	push   $0x4
40da71:	b8 1a 30 41 00       	mov    $0x41301a,%eax
40da76:	e8 e3 4a 00 00       	call   0x41255e
40da7b:	8b d9                	mov    %ecx,%ebx
40da7d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40da80:	83 63 10 00          	andl   $0x0,0x10(%ebx)
40da84:	8d 7b 14             	lea    0x14(%ebx),%edi
40da87:	be 28 3e 40 00       	mov    $0x403e28,%esi
40da8c:	c7 03 cc 19 40 00    	movl   $0x4019cc,(%ebx)
40da92:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40da93:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40da94:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40da95:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40da96:	33 ff                	xor    %edi,%edi
40da98:	89 7b 34             	mov    %edi,0x34(%ebx)
40da9b:	89 7d fc             	mov    %edi,-0x4(%ebp)
40da9e:	89 7b 38             	mov    %edi,0x38(%ebx)
40daa1:	89 7b 3c             	mov    %edi,0x3c(%ebx)
40daa4:	89 7b 40             	mov    %edi,0x40(%ebx)
40daa7:	89 7b 44             	mov    %edi,0x44(%ebx)
40daaa:	89 7b 48             	mov    %edi,0x48(%ebx)
40daad:	89 7b 4c             	mov    %edi,0x4c(%ebx)
40dab0:	89 7b 50             	mov    %edi,0x50(%ebx)
40dab3:	89 7b 54             	mov    %edi,0x54(%ebx)
40dab6:	89 7b 58             	mov    %edi,0x58(%ebx)
40dab9:	89 7b 5c             	mov    %edi,0x5c(%ebx)
40dabc:	89 7b 60             	mov    %edi,0x60(%ebx)
40dabf:	89 7b 64             	mov    %edi,0x64(%ebx)
40dac2:	89 7b 68             	mov    %edi,0x68(%ebx)
40dac5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dac8:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40dacc:	89 4b 04             	mov    %ecx,0x4(%ebx)
40dacf:	51                   	push   %ecx
40dad0:	8b 01                	mov    (%ecx),%eax
40dad2:	8b 70 04             	mov    0x4(%eax),%esi
40dad5:	8b ce                	mov    %esi,%ecx
40dad7:	ff 15 28 63 41 00    	call   *0x416328
40dadd:	ff d6                	call   *%esi
40dadf:	89 7b 08             	mov    %edi,0x8(%ebx)
40dae2:	8b c3                	mov    %ebx,%eax
40dae4:	89 7b 0c             	mov    %edi,0xc(%ebx)
40dae7:	89 7b 24             	mov    %edi,0x24(%ebx)
40daea:	89 7b 28             	mov    %edi,0x28(%ebx)
40daed:	89 7b 2c             	mov    %edi,0x2c(%ebx)
40daf0:	89 7b 6c             	mov    %edi,0x6c(%ebx)
40daf3:	e8 34 4a 00 00       	call   0x41252c
40daf8:	c2 04 00             	ret    $0x4
40dafb:	8b ff                	mov    %edi,%edi
40dafd:	55                   	push   %ebp
40dafe:	8b ec                	mov    %esp,%ebp
40db00:	6a ff                	push   $0xffffffff
40db02:	68 5f 2e 41 00       	push   $0x412e5f
40db07:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40db0d:	50                   	push   %eax
40db0e:	53                   	push   %ebx
40db0f:	56                   	push   %esi
40db10:	57                   	push   %edi
40db11:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40db16:	33 c5                	xor    %ebp,%eax
40db18:	50                   	push   %eax
40db19:	8d 45 f4             	lea    -0xc(%ebp),%eax
40db1c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40db22:	8b f9                	mov    %ecx,%edi
40db24:	8b 4f 04             	mov    0x4(%edi),%ecx
40db27:	33 db                	xor    %ebx,%ebx
40db29:	c7 07 cc 19 40 00    	movl   $0x4019cc,(%edi)
40db2f:	85 c9                	test   %ecx,%ecx
40db31:	74 1e                	je     0x40db51
40db33:	8b 01                	mov    (%ecx),%eax
40db35:	51                   	push   %ecx
40db36:	8b 70 08             	mov    0x8(%eax),%esi
40db39:	8b ce                	mov    %esi,%ecx
40db3b:	ff 15 28 63 41 00    	call   *0x416328
40db41:	ff d6                	call   *%esi
40db43:	8b cb                	mov    %ebx,%ecx
40db45:	89 5f 04             	mov    %ebx,0x4(%edi)
40db48:	85 c9                	test   %ecx,%ecx
40db4a:	74 05                	je     0x40db51
40db4c:	e8 7e fe ff ff       	call   0x40d9cf
40db51:	39 5f 28             	cmp    %ebx,0x28(%edi)
40db54:	74 0c                	je     0x40db62
40db56:	ff 77 28             	push   0x28(%edi)
40db59:	ff 15 74 60 41 00    	call   *0x416074
40db5f:	89 5f 28             	mov    %ebx,0x28(%edi)
40db62:	39 5f 2c             	cmp    %ebx,0x2c(%edi)
40db65:	74 0c                	je     0x40db73
40db67:	ff 77 2c             	push   0x2c(%edi)
40db6a:	ff 15 74 60 41 00    	call   *0x416074
40db70:	89 5f 2c             	mov    %ebx,0x2c(%edi)
40db73:	39 5f 24             	cmp    %ebx,0x24(%edi)
40db76:	74 0d                	je     0x40db85
40db78:	53                   	push   %ebx
40db79:	ff 77 24             	push   0x24(%edi)
40db7c:	ff 15 78 60 41 00    	call   *0x416078
40db82:	89 5f 24             	mov    %ebx,0x24(%edi)
40db85:	8d 4f 68             	lea    0x68(%edi),%ecx
40db88:	e8 62 8e ff ff       	call   0x4069ef
40db8d:	ff 77 64             	push   0x64(%edi)
40db90:	ff 15 b8 61 41 00    	call   *0x4161b8
40db96:	ff 77 60             	push   0x60(%edi)
40db99:	ff 15 b8 61 41 00    	call   *0x4161b8
40db9f:	ff 77 5c             	push   0x5c(%edi)
40dba2:	ff 15 b8 61 41 00    	call   *0x4161b8
40dba8:	ff 77 58             	push   0x58(%edi)
40dbab:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbb1:	ff 77 54             	push   0x54(%edi)
40dbb4:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbba:	ff 77 50             	push   0x50(%edi)
40dbbd:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbc3:	ff 77 4c             	push   0x4c(%edi)
40dbc6:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbcc:	ff 77 48             	push   0x48(%edi)
40dbcf:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbd5:	ff 77 44             	push   0x44(%edi)
40dbd8:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbde:	ff 77 40             	push   0x40(%edi)
40dbe1:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbe7:	ff 77 3c             	push   0x3c(%edi)
40dbea:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbf0:	ff 77 38             	push   0x38(%edi)
40dbf3:	ff 15 b8 61 41 00    	call   *0x4161b8
40dbf9:	ff 77 34             	push   0x34(%edi)
40dbfc:	ff 15 b8 61 41 00    	call   *0x4161b8
40dc02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dc05:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40dc0c:	59                   	pop    %ecx
40dc0d:	5f                   	pop    %edi
40dc0e:	5e                   	pop    %esi
40dc0f:	5b                   	pop    %ebx
40dc10:	c9                   	leave
40dc11:	c3                   	ret
40dc12:	8b ff                	mov    %edi,%edi
40dc14:	57                   	push   %edi
40dc15:	8b f9                	mov    %ecx,%edi
40dc17:	8b 57 0c             	mov    0xc(%edi),%edx
40dc1a:	85 d2                	test   %edx,%edx
40dc1c:	74 32                	je     0x40dc50
40dc1e:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
40dc22:	56                   	push   %esi
40dc23:	74 16                	je     0x40dc3b
40dc25:	8b 02                	mov    (%edx),%eax
40dc27:	ff 77 10             	push   0x10(%edi)
40dc2a:	52                   	push   %edx
40dc2b:	8b 70 18             	mov    0x18(%eax),%esi
40dc2e:	8b ce                	mov    %esi,%ecx
40dc30:	ff 15 28 63 41 00    	call   *0x416328
40dc36:	ff d6                	call   *%esi
40dc38:	8b 57 0c             	mov    0xc(%edi),%edx
40dc3b:	8b 02                	mov    (%edx),%eax
40dc3d:	52                   	push   %edx
40dc3e:	8b 70 08             	mov    0x8(%eax),%esi
40dc41:	8b ce                	mov    %esi,%ecx
40dc43:	ff 15 28 63 41 00    	call   *0x416328
40dc49:	ff d6                	call   *%esi
40dc4b:	83 67 0c 00          	andl   $0x0,0xc(%edi)
40dc4f:	5e                   	pop    %esi
40dc50:	33 c0                	xor    %eax,%eax
40dc52:	5f                   	pop    %edi
40dc53:	c3                   	ret
40dc54:	cc                   	int3
40dc55:	cc                   	int3
40dc56:	cc                   	int3
40dc57:	cc                   	int3
40dc58:	cc                   	int3
40dc59:	cc                   	int3
40dc5a:	cc                   	int3
40dc5b:	cc                   	int3
40dc5c:	cc                   	int3
40dc5d:	cc                   	int3
40dc5e:	cc                   	int3
40dc5f:	cc                   	int3
40dc60:	8b ff                	mov    %edi,%edi
40dc62:	55                   	push   %ebp
40dc63:	8b ec                	mov    %esp,%ebp
40dc65:	53                   	push   %ebx
40dc66:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40dc69:	33 c9                	xor    %ecx,%ecx
40dc6b:	56                   	push   %esi
40dc6c:	57                   	push   %edi
40dc6d:	8b 7d 10             	mov    0x10(%ebp),%edi
40dc70:	b8 5c 27 40 00       	mov    $0x40275c,%eax
40dc75:	8b f1                	mov    %ecx,%esi
40dc77:	89 0f                	mov    %ecx,(%edi)
40dc79:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40dc7c:	8b 55 08             	mov    0x8(%ebp),%edx
40dc7f:	3b 04 b3             	cmp    (%ebx,%esi,4),%eax
40dc82:	75 0d                	jne    0x40dc91
40dc84:	46                   	inc    %esi