42491d:	8b 08                	mov    (%eax),%ecx
42491f:	85 c9                	test   %ecx,%ecx
424921:	74 07                	je     0x42492a
424923:	8b 47 30             	mov    0x30(%edi),%eax
424926:	8b 00                	mov    (%eax),%eax
424928:	eb 02                	jmp    0x42492c
42492a:	33 c0                	xor    %eax,%eax
42492c:	85 c0                	test   %eax,%eax
42492e:	7e 05                	jle    0x424935
424930:	0f b7 01             	movzwl (%ecx),%eax
424933:	5f                   	pop    %edi
424934:	c3                   	ret
424935:	8b 07                	mov    (%edi),%eax
424937:	56                   	push   %esi
424938:	8b 70 10             	mov    0x10(%eax),%esi
42493b:	8b ce                	mov    %esi,%ecx
42493d:	ff 15 2c 81 4a 00    	call   *0x4a812c
424943:	8b cf                	mov    %edi,%ecx
424945:	ff d6                	call   *%esi
424947:	5e                   	pop    %esi
424948:	0f b7 c0             	movzwl %ax,%eax
42494b:	5f                   	pop    %edi
42494c:	c3                   	ret
42494d:	8b ff                	mov    %edi,%edi
42494f:	56                   	push   %esi
424950:	8b f1                	mov    %ecx,%esi
424952:	33 c9                	xor    %ecx,%ecx
424954:	8b 46 20             	mov    0x20(%esi),%eax
424957:	39 08                	cmp    %ecx,(%eax)
424959:	74 05                	je     0x424960
42495b:	8b 46 30             	mov    0x30(%esi),%eax
42495e:	8b 08                	mov    (%eax),%ecx
424960:	83 f9 01             	cmp    $0x1,%ecx
424963:	7e 14                	jle    0x424979
424965:	8b 46 30             	mov    0x30(%esi),%eax
424968:	ff 08                	decl   (%eax)
42496a:	8b 46 20             	mov    0x20(%esi),%eax
42496d:	8b 08                	mov    (%eax),%ecx
42496f:	83 c1 02             	add    $0x2,%ecx
424972:	89 08                	mov    %ecx,(%eax)
424974:	0f b7 09             	movzwl (%ecx),%ecx
424977:	eb 1b                	jmp    0x424994
424979:	8b ce                	mov    %esi,%ecx
42497b:	e8 52 ff ff ff       	call   0x4248d2
424980:	b9 ff ff 00 00       	mov    $0xffff,%ecx
424985:	66 3b c8             	cmp    %ax,%cx
424988:	74 0a                	je     0x424994
42498a:	8b ce                	mov    %esi,%ecx
42498c:	e8 84 ff ff ff       	call   0x424915
424991:	0f b7 c8             	movzwl %ax,%ecx
424994:	66 8b c1             	mov    %cx,%ax
424997:	5e                   	pop    %esi
424998:	c3                   	ret
424999:	6a 0c                	push   $0xc
42499b:	b8 df 1d 49 00       	mov    $0x491ddf,%eax
4249a0:	e8 97 bb 06 00       	call   0x49053c
4249a5:	8b f9                	mov    %ecx,%edi
4249a7:	8b 07                	mov    (%edi),%eax
4249a9:	89 7d e8             	mov    %edi,-0x18(%ebp)
4249ac:	8b 48 04             	mov    0x4(%eax),%ecx
4249af:	83 7c 39 08 00       	cmpl   $0x0,0x8(%ecx,%edi,1)
4249b4:	0f 85 04 01 00 00    	jne    0x424abe
4249ba:	8b 4c 39 2c          	mov    0x2c(%ecx,%edi,1),%ecx
4249be:	85 c9                	test   %ecx,%ecx
4249c0:	74 07                	je     0x4249c9
4249c2:	e8 fc 01 00 00       	call   0x424bc3
4249c7:	8b 07                	mov    (%edi),%eax
4249c9:	8b 48 04             	mov    0x4(%eax),%ecx
4249cc:	f6 44 39 10 01       	testb  $0x1,0x10(%ecx,%edi,1)
4249d1:	0f 84 d7 00 00 00    	je     0x424aae
4249d7:	8b 4c 39 24          	mov    0x24(%ecx,%edi,1),%ecx
4249db:	8b 09                	mov    (%ecx),%ecx
4249dd:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4249e0:	e8 c1 6e ff ff       	call   0x41b8a6
4249e5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4249e9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4249ec:	e8 ba 6b ff ff       	call   0x41b5ab
4249f1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4249f4:	8b d8                	mov    %eax,%ebx
4249f6:	e8 78 72 ff ff       	call   0x41bc73
4249fb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
424a02:	8b 0f                	mov    (%edi),%ecx
424a04:	8b 49 04             	mov    0x4(%ecx),%ecx
424a07:	8b 4c 39 28          	mov    0x28(%ecx,%edi,1),%ecx
424a0b:	e8 05 ff ff ff       	call   0x424915
424a10:	0f b7 c0             	movzwl %ax,%eax
424a13:	8b c8                	mov    %eax,%ecx
424a15:	b8 ff ff 00 00       	mov    $0xffff,%eax
424a1a:	66 3b c1             	cmp    %cx,%ax
424a1d:	75 2d                	jne    0x424a4c
424a1f:	8b 07                	mov    (%edi),%eax
424a21:	8b 48 04             	mov    0x4(%eax),%ecx
424a24:	33 c0                	xor    %eax,%eax
424a26:	03 cf                	add    %edi,%ecx
424a28:	39 41 28             	cmp    %eax,0x28(%ecx)
424a2b:	0f 94 c0             	sete   %al
424a2e:	8d 04 85 01 00 00 00 	lea    0x1(,%eax,4),%eax
424a35:	0b 41 08             	or     0x8(%ecx),%eax
424a38:	83 e0 17             	and    $0x17,%eax
424a3b:	89 41 08             	mov    %eax,0x8(%ecx)
424a3e:	85 41 0c             	test   %eax,0xc(%ecx)
424a41:	74 67                	je     0x424aaa
424a43:	6a 00                	push   $0x0
424a45:	e8 c1 6d ff ff       	call   0x41b80b
424a4a:	eb 5e                	jmp    0x424aaa
424a4c:	8b 03                	mov    (%ebx),%eax
424a4e:	51                   	push   %ecx
424a4f:	6a 48                	push   $0x48
424a51:	8b 70 08             	mov    0x8(%eax),%esi
424a54:	8b ce                	mov    %esi,%ecx
424a56:	ff 15 2c 81 4a 00    	call   *0x4a812c
424a5c:	8b cb                	mov    %ebx,%ecx
424a5e:	ff d6                	call   *%esi
424a60:	84 c0                	test   %al,%al
424a62:	74 46                	je     0x424aaa
424a64:	8b 07                	mov    (%edi),%eax
424a66:	8b 40 04             	mov    0x4(%eax),%eax
424a69:	8b 4c 38 28          	mov    0x28(%eax,%edi,1),%ecx
424a6d:	e8 db fe ff ff       	call   0x42494d
424a72:	eb 9c                	jmp    0x424a10
424a74:	8b 4d e8             	mov    -0x18(%ebp),%ecx
424a77:	8b 01                	mov    (%ecx),%eax
424a79:	8b 50 04             	mov    0x4(%eax),%edx
424a7c:	03 d1                	add    %ecx,%edx
424a7e:	8b 42 08             	mov    0x8(%edx),%eax
424a81:	83 c8 04             	or     $0x4,%eax
424a84:	83 7a 28 00          	cmpl   $0x0,0x28(%edx)
424a88:	75 03                	jne    0x424a8d
424a8a:	83 c8 04             	or     $0x4,%eax
424a8d:	83 e0 17             	and    $0x17,%eax
424a90:	89 42 08             	mov    %eax,0x8(%edx)
424a93:	85 42 0c             	test   %eax,0xc(%edx)
424a96:	74 09                	je     0x424aa1
424a98:	6a 01                	push   $0x1
424a9a:	8b ca                	mov    %edx,%ecx
424a9c:	e8 6a 6d ff ff       	call   0x41b80b
424aa1:	b8 a7 4a 42 00       	mov    $0x424aa7,%eax
424aa6:	c3                   	ret
424aa7:	8b 7d e8             	mov    -0x18(%ebp),%edi
424aaa:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
424aae:	8b 07                	mov    (%edi),%eax
424ab0:	8b 48 04             	mov    0x4(%eax),%ecx
424ab3:	83 7c 39 08 00       	cmpl   $0x0,0x8(%ecx,%edi,1)
424ab8:	75 04                	jne    0x424abe
424aba:	b0 01                	mov    $0x1,%al
424abc:	eb 2b                	jmp    0x424ae9
424abe:	8b 48 04             	mov    0x4(%eax),%ecx
424ac1:	33 c0                	xor    %eax,%eax
424ac3:	03 cf                	add    %edi,%ecx
424ac5:	39 41 28             	cmp    %eax,0x28(%ecx)
424ac8:	0f 94 c0             	sete   %al
424acb:	8d 04 85 02 00 00 00 	lea    0x2(,%eax,4),%eax
424ad2:	0b 41 08             	or     0x8(%ecx),%eax
424ad5:	83 e0 17             	and    $0x17,%eax
424ad8:	89 41 08             	mov    %eax,0x8(%ecx)
424adb:	85 41 0c             	test   %eax,0xc(%ecx)
424ade:	74 07                	je     0x424ae7
424ae0:	6a 00                	push   $0x0
424ae2:	e8 24 6d ff ff       	call   0x41b80b
424ae7:	32 c0                	xor    %al,%al
424ae9:	e8 b3 b9 06 00       	call   0x4904a1
424aee:	c2 04 00             	ret    $0x4
424af1:	6a 04                	push   $0x4
424af3:	b8 02 1e 49 00       	mov    $0x491e02,%eax
424af8:	e8 d6 b9 06 00       	call   0x4904d3
424afd:	8b f1                	mov    %ecx,%esi
424aff:	89 75 f0             	mov    %esi,-0x10(%ebp)
424b02:	8b 55 08             	mov    0x8(%ebp),%edx
424b05:	89 16                	mov    %edx,(%esi)
424b07:	8b 02                	mov    (%edx),%eax
424b09:	8b 40 04             	mov    0x4(%eax),%eax
424b0c:	8b 4c 10 28          	mov    0x28(%eax,%edx,1),%ecx
424b10:	85 c9                	test   %ecx,%ecx
424b12:	74 08                	je     0x424b1c
424b14:	83 c1 04             	add    $0x4,%ecx
424b17:	e8 22 91 06 00       	call   0x48dc3e
424b1c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424b20:	51                   	push   %ecx
424b21:	8b 0e                	mov    (%esi),%ecx
424b23:	e8 71 fe ff ff       	call   0x424999
424b28:	88 46 04             	mov    %al,0x4(%esi)
424b2b:	8b c6                	mov    %esi,%eax
424b2d:	e8 6f b9 06 00       	call   0x4904a1
424b32:	c2 08 00             	ret    $0x8
424b35:	6a 04                	push   $0x4
424b37:	b8 1d 1e 49 00       	mov    $0x491e1d,%eax
424b3c:	e8 fb b9 06 00       	call   0x49053c
424b41:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424b45:	8b 01                	mov    (%ecx),%eax
424b47:	8b 40 04             	mov    0x4(%eax),%eax
424b4a:	f6 44 08 10 02       	testb  $0x2,0x10(%eax,%ecx,1)
424b4f:	74 05                	je     0x424b56
424b51:	e8 6d 00 00 00       	call   0x424bc3
424b56:	e8 46 b9 06 00       	call   0x4904a1
424b5b:	c3                   	ret
424b5c:	b8 56 4b 42 00       	mov    $0x424b56,%eax
424b61:	c3                   	ret
424b62:	8b ff                	mov    %edi,%edi
424b64:	55                   	push   %ebp
424b65:	8b ec                	mov    %esp,%ebp
424b67:	6a ff                	push   $0xffffffff
424b69:	68 20 12 49 00       	push   $0x491220
424b6e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
424b74:	50                   	push   %eax
424b75:	51                   	push   %ecx
424b76:	56                   	push   %esi
424b77:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
424b7c:	33 c5                	xor    %ebp,%eax
424b7e:	50                   	push   %eax
424b7f:	8d 45 f4             	lea    -0xc(%ebp),%eax
424b82:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
424b88:	8b f1                	mov    %ecx,%esi
424b8a:	e8 b7 b7 06 00       	call   0x490346
424b8f:	85 c0                	test   %eax,%eax
424b91:	75 07                	jne    0x424b9a
424b93:	8b 0e                	mov    (%esi),%ecx
424b95:	e8 9b ff ff ff       	call   0x424b35
424b9a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424b9e:	8b 0e                	mov    (%esi),%ecx
424ba0:	8b 01                	mov    (%ecx),%eax
424ba2:	8b 40 04             	mov    0x4(%eax),%eax
424ba5:	8b 4c 08 28          	mov    0x28(%eax,%ecx,1),%ecx
424ba9:	85 c9                	test   %ecx,%ecx
424bab:	74 08                	je     0x424bb5
424bad:	83 c1 04             	add    $0x4,%ecx
424bb0:	e8 92 90 06 00       	call   0x48dc47
424bb5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424bb8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
424bbf:	59                   	pop    %ecx
424bc0:	5e                   	pop    %esi
424bc1:	c9                   	leave
424bc2:	c3                   	ret
424bc3:	8b ff                	mov    %edi,%edi
424bc5:	53                   	push   %ebx
424bc6:	8b d9                	mov    %ecx,%ebx
424bc8:	56                   	push   %esi
424bc9:	57                   	push   %edi
424bca:	8b 03                	mov    (%ebx),%eax
424bcc:	8b 78 04             	mov    0x4(%eax),%edi
424bcf:	f6 44 1f 08 06       	testb  $0x6,0x8(%edi,%ebx,1)
424bd4:	75 2a                	jne    0x424c00
424bd6:	8b 7c 1f 28          	mov    0x28(%edi,%ebx,1),%edi
424bda:	8b 07                	mov    (%edi),%eax
424bdc:	8b 70 2c             	mov    0x2c(%eax),%esi
424bdf:	8b ce                	mov    %esi,%ecx
424be1:	ff 15 2c 81 4a 00    	call   *0x4a812c
424be7:	8b cf                	mov    %edi,%ecx
424be9:	ff d6                	call   *%esi
424beb:	83 f8 ff             	cmp    $0xffffffff,%eax
424bee:	75 10                	jne    0x424c00
424bf0:	8b 03                	mov    (%ebx),%eax
424bf2:	6a 00                	push   $0x0
424bf4:	6a 04                	push   $0x4
424bf6:	8b 48 04             	mov    0x4(%eax),%ecx
424bf9:	03 cb                	add    %ebx,%ecx
424bfb:	e8 37 6a ff ff       	call   0x41b637
424c00:	5f                   	pop    %edi
424c01:	5e                   	pop    %esi
424c02:	8b c3                	mov    %ebx,%eax
424c04:	5b                   	pop    %ebx
424c05:	c3                   	ret
424c06:	6a 08                	push   $0x8
424c08:	b8 40 1e 49 00       	mov    $0x491e40,%eax
424c0d:	e8 c1 b8 06 00       	call   0x4904d3
424c12:	8b f9                	mov    %ecx,%edi
424c14:	89 7d f0             	mov    %edi,-0x10(%ebp)
424c17:	8b 75 08             	mov    0x8(%ebp),%esi
424c1a:	89 37                	mov    %esi,(%edi)
424c1c:	8b 16                	mov    (%esi),%edx
424c1e:	8b 42 04             	mov    0x4(%edx),%eax
424c21:	8b 4c 30 28          	mov    0x28(%eax,%esi,1),%ecx
424c25:	85 c9                	test   %ecx,%ecx
424c27:	74 0a                	je     0x424c33
424c29:	83 c1 04             	add    $0x4,%ecx
424c2c:	e8 0d 90 06 00       	call   0x48dc3e
424c31:	8b 16                	mov    (%esi),%edx
424c33:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424c37:	8b 4a 04             	mov    0x4(%edx),%ecx
424c3a:	83 7c 31 08 00       	cmpl   $0x0,0x8(%ecx,%esi,1)
424c3f:	75 0f                	jne    0x424c50
424c41:	8b 4c 31 2c          	mov    0x2c(%ecx,%esi,1),%ecx
424c45:	85 c9                	test   %ecx,%ecx
424c47:	74 07                	je     0x424c50
424c49:	e8 75 ff ff ff       	call   0x424bc3
424c4e:	8b 16                	mov    (%esi),%edx
424c50:	8b 42 04             	mov    0x4(%edx),%eax
424c53:	83 7c 30 08 00       	cmpl   $0x0,0x8(%eax,%esi,1)
424c58:	0f 94 c0             	sete   %al
424c5b:	88 47 04             	mov    %al,0x4(%edi)
424c5e:	8b c7                	mov    %edi,%eax
424c60:	e8 3c b8 06 00       	call   0x4904a1
424c65:	c2 04 00             	ret    $0x4
424c68:	cc                   	int3
424c69:	cc                   	int3
424c6a:	cc                   	int3
424c6b:	cc                   	int3
424c6c:	cc                   	int3
424c6d:	cc                   	int3
424c6e:	cc                   	int3
424c6f:	cc                   	int3
424c70:	6a 04                	push   $0x4
424c72:	b8 b3 16 49 00       	mov    $0x4916b3,%eax
424c77:	e8 57 b8 06 00       	call   0x4904d3
424c7c:	6a 14                	push   $0x14
424c7e:	ff 15 14 74 4a 00    	call   *0x4a7414
424c84:	59                   	pop    %ecx
424c85:	8b c8                	mov    %eax,%ecx
424c87:	89 4d f0             	mov    %ecx,-0x10(%ebp)
424c8a:	33 c0                	xor    %eax,%eax
424c8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
424c8f:	85 c9                	test   %ecx,%ecx
424c91:	74 05                	je     0x424c98
424c93:	e8 61 03 00 00       	call   0x424ff9
424c98:	e8 04 b8 06 00       	call   0x4904a1
424c9d:	c3                   	ret
424c9e:	cc                   	int3
424c9f:	cc                   	int3
424ca0:	b8 74 15 40 00       	mov    $0x401574,%eax
424ca5:	c3                   	ret
424ca6:	8b ff                	mov    %edi,%edi
424ca8:	55                   	push   %ebp
424ca9:	8b ec                	mov    %esp,%ebp
424cab:	83 e4 f8             	and    $0xfffffff8,%esp
424cae:	83 ec 30             	sub    $0x30,%esp
424cb1:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
424cb6:	33 c4                	xor    %esp,%eax
424cb8:	89 44 24 2c          	mov    %eax,0x2c(%esp)
424cbc:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
424cc3:	56                   	push   %esi
424cc4:	57                   	push   %edi
424cc5:	8b f1                	mov    %ecx,%esi
424cc7:	74 34                	je     0x424cfd
424cc9:	8d 44 24 08          	lea    0x8(%esp),%eax
424ccd:	89 74 24 08          	mov    %esi,0x8(%esp)
424cd1:	89 44 24 20          	mov    %eax,0x20(%esp)
424cd5:	33 c9                	xor    %ecx,%ecx
424cd7:	8d 44 24 10          	lea    0x10(%esp),%eax
424cdb:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
424cdf:	50                   	push   %eax
424ce0:	6a 02                	push   $0x2
424ce2:	51                   	push   %ecx
424ce3:	ba d0 f7 40 00       	mov    $0x40f7d0,%edx
424ce8:	89 4c 24 30          	mov    %ecx,0x30(%esp)
424cec:	c7 44 24 34 08 00 00 	movl   $0x8,0x34(%esp)
424cf3:	00
424cf4:	89 4c 24 38          	mov    %ecx,0x38(%esp)
424cf8:	e8 a6 07 00 00       	call   0x4254a3
424cfd:	83 3d 30 49 4a 00 00 	cmpl   $0x0,0x4a4930
424d04:	89 35 48 65 4a 00    	mov    %esi,0x4a6548
424d0a:	74 30                	je     0x424d3c