402a19:	cc                   	int3
402a1a:	cc                   	int3
402a1b:	cc                   	int3
402a1c:	cc                   	int3
402a1d:	cc                   	int3
402a1e:	cc                   	int3
402a1f:	cc                   	int3
402a20:	55                   	push   %ebp
402a21:	8b ec                	mov    %esp,%ebp
402a23:	6a ff                	push   $0xffffffff
402a25:	68 68 5b 41 00       	push   $0x415b68
402a2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402a30:	50                   	push   %eax
402a31:	83 ec 14             	sub    $0x14,%esp
402a34:	53                   	push   %ebx
402a35:	56                   	push   %esi
402a36:	57                   	push   %edi
402a37:	a1 20 c5 41 00       	mov    0x41c520,%eax
402a3c:	33 c5                	xor    %ebp,%eax
402a3e:	50                   	push   %eax
402a3f:	8d 45 f4             	lea    -0xc(%ebp),%eax
402a42:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402a48:	89 65 f0             	mov    %esp,-0x10(%ebp)
402a4b:	8b f9                	mov    %ecx,%edi
402a4d:	89 7d ec             	mov    %edi,-0x14(%ebp)
402a50:	33 f6                	xor    %esi,%esi
402a52:	57                   	push   %edi
402a53:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402a56:	33 db                	xor    %ebx,%ebx
402a58:	89 75 e8             	mov    %esi,-0x18(%ebp)
402a5b:	e8 40 fc ff ff       	call   0x4026a0
402a60:	38 5d e4             	cmp    %bl,-0x1c(%ebp)
402a63:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402a66:	75 0a                	jne    0x402a72
402a68:	be 04 00 00 00       	mov    $0x4,%esi
402a6d:	e9 84 00 00 00       	jmp    0x402af6
402a72:	8b 07                	mov    (%edi),%eax
402a74:	8b 48 04             	mov    0x4(%eax),%ecx
402a77:	8b 4c 39 28          	mov    0x28(%ecx,%edi,1),%ecx
402a7b:	8b 51 24             	mov    0x24(%ecx),%edx
402a7e:	39 1a                	cmp    %ebx,(%edx)
402a80:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402a84:	74 1f                	je     0x402aa5
402a86:	8b 41 34             	mov    0x34(%ecx),%eax
402a89:	39 18                	cmp    %ebx,(%eax)
402a8b:	7e 18                	jle    0x402aa5
402a8d:	83 00 ff             	addl   $0xffffffff,(%eax)
402a90:	8b 49 24             	mov    0x24(%ecx),%ecx
402a93:	8b 01                	mov    (%ecx),%eax
402a95:	8d 50 02             	lea    0x2(%eax),%edx
402a98:	89 11                	mov    %edx,(%ecx)
402a9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
402a9d:	66 89 08             	mov    %cx,(%eax)
402aa0:	0f b7 c1             	movzwl %cx,%eax
402aa3:	eb 11                	jmp    0x402ab6
402aa5:	8b 01                	mov    (%ecx),%eax
402aa7:	8b 55 08             	mov    0x8(%ebp),%edx
402aaa:	8b 40 04             	mov    0x4(%eax),%eax
402aad:	52                   	push   %edx
402aae:	ff d0                	call   *%eax
402ab0:	0f b7 c0             	movzwl %ax,%eax
402ab3:	0f b7 c0             	movzwl %ax,%eax
402ab6:	66 3d ff ff          	cmp    $0xffff,%ax
402aba:	75 05                	jne    0x402ac1
402abc:	be 04 00 00 00       	mov    $0x4,%esi
402ac1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402ac4:	eb 30                	jmp    0x402af6
402ac6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402ac9:	8b 11                	mov    (%ecx),%edx
402acb:	8b 42 04             	mov    0x4(%edx),%eax
402ace:	03 c1                	add    %ecx,%eax
402ad0:	8b 48 08             	mov    0x8(%eax),%ecx
402ad3:	83 c9 04             	or     $0x4,%ecx
402ad6:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
402ada:	75 03                	jne    0x402adf
402adc:	83 c9 04             	or     $0x4,%ecx
402adf:	83 e1 17             	and    $0x17,%ecx
402ae2:	85 48 0c             	test   %ecx,0xc(%eax)
402ae5:	89 48 08             	mov    %ecx,0x8(%eax)
402ae8:	75 52                	jne    0x402b3c
402aea:	b8 f0 2a 40 00       	mov    $0x402af0,%eax
402aef:	c3                   	ret
402af0:	8b 7d ec             	mov    -0x14(%ebp),%edi
402af3:	8b 75 e8             	mov    -0x18(%ebp),%esi
402af6:	8b 07                	mov    (%edi),%eax
402af8:	8b 48 04             	mov    0x4(%eax),%ecx
402afb:	03 cf                	add    %edi,%ecx
402afd:	85 f6                	test   %esi,%esi
402aff:	74 16                	je     0x402b17
402b01:	8b 41 08             	mov    0x8(%ecx),%eax
402b04:	0b c6                	or     %esi,%eax
402b06:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
402b0a:	75 03                	jne    0x402b0f
402b0c:	83 c8 04             	or     $0x4,%eax
402b0f:	6a 00                	push   $0x0
402b11:	50                   	push   %eax
402b12:	e8 49 f9 ff ff       	call   0x402460
402b17:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402b1a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
402b21:	e8 6a fc ff ff       	call   0x402790
402b26:	8b c7                	mov    %edi,%eax
402b28:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402b2b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402b32:	59                   	pop    %ecx
402b33:	5f                   	pop    %edi
402b34:	5e                   	pop    %esi
402b35:	5b                   	pop    %ebx
402b36:	8b e5                	mov    %ebp,%esp
402b38:	5d                   	pop    %ebp
402b39:	c2 04 00             	ret    $0x4
402b3c:	6a 00                	push   $0x0
402b3e:	6a 00                	push   $0x0
402b40:	e8 fd 34 00 00       	call   0x406042
402b45:	cc                   	int3
402b46:	cc                   	int3
402b47:	cc                   	int3
402b48:	cc                   	int3
402b49:	cc                   	int3
402b4a:	cc                   	int3
402b4b:	cc                   	int3
402b4c:	cc                   	int3
402b4d:	cc                   	int3
402b4e:	cc                   	int3
402b4f:	cc                   	int3
402b50:	83 ec 0c             	sub    $0xc,%esp
402b53:	8b 54 24 14          	mov    0x14(%esp),%edx
402b57:	53                   	push   %ebx
402b58:	55                   	push   %ebp
402b59:	56                   	push   %esi
402b5a:	8b 74 24 1c          	mov    0x1c(%esp),%esi
402b5e:	8b 46 3c             	mov    0x3c(%esi),%eax
402b61:	8d 44 30 78          	lea    0x78(%eax,%esi,1),%eax
402b65:	57                   	push   %edi
402b66:	8b 38                	mov    (%eax),%edi
402b68:	8b 6c 37 1c          	mov    0x1c(%edi,%esi,1),%ebp
402b6c:	03 fe                	add    %esi,%edi
402b6e:	89 44 24 18          	mov    %eax,0x18(%esp)
402b72:	8b 47 24             	mov    0x24(%edi),%eax
402b75:	03 c6                	add    %esi,%eax
402b77:	89 44 24 10          	mov    %eax,0x10(%esp)
402b7b:	8b 47 20             	mov    0x20(%edi),%eax
402b7e:	03 ee                	add    %esi,%ebp
402b80:	03 c6                	add    %esi,%eax
402b82:	33 db                	xor    %ebx,%ebx
402b84:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
402b8a:	89 6c 24 14          	mov    %ebp,0x14(%esp)
402b8e:	89 44 24 20          	mov    %eax,0x20(%esp)
402b92:	75 27                	jne    0x402bbb
402b94:	8b 4f 10             	mov    0x10(%edi),%ecx
402b97:	0f b7 c2             	movzwl %dx,%eax
402b9a:	3b c1                	cmp    %ecx,%eax
402b9c:	72 13                	jb     0x402bb1
402b9e:	8b 57 14             	mov    0x14(%edi),%edx
402ba1:	03 d1                	add    %ecx,%edx
402ba3:	3b c2                	cmp    %edx,%eax
402ba5:	77 0a                	ja     0x402bb1
402ba7:	2b c1                	sub    %ecx,%eax
402ba9:	8b 5c 85 00          	mov    0x0(%ebp,%eax,4),%ebx
402bad:	03 de                	add    %esi,%ebx
402baf:	eb 64                	jmp    0x402c15
402bb1:	5f                   	pop    %edi
402bb2:	5e                   	pop    %esi
402bb3:	5d                   	pop    %ebp
402bb4:	33 c0                	xor    %eax,%eax
402bb6:	5b                   	pop    %ebx
402bb7:	83 c4 0c             	add    $0xc,%esp
402bba:	c3                   	ret
402bbb:	33 ed                	xor    %ebp,%ebp
402bbd:	39 5f 18             	cmp    %ebx,0x18(%edi)
402bc0:	76 53                	jbe    0x402c15
402bc2:	eb 08                	jmp    0x402bcc
402bc4:	8b 54 24 24          	mov    0x24(%esp),%edx
402bc8:	8b 44 24 20          	mov    0x20(%esp),%eax
402bcc:	8b 04 a8             	mov    (%eax,%ebp,4),%eax
402bcf:	03 c6                	add    %esi,%eax
402bd1:	8b ca                	mov    %edx,%ecx
402bd3:	8a 11                	mov    (%ecx),%dl
402bd5:	3a 10                	cmp    (%eax),%dl
402bd7:	75 1a                	jne    0x402bf3
402bd9:	84 d2                	test   %dl,%dl
402bdb:	74 12                	je     0x402bef
402bdd:	8a 51 01             	mov    0x1(%ecx),%dl
402be0:	3a 50 01             	cmp    0x1(%eax),%dl
402be3:	75 0e                	jne    0x402bf3
402be5:	83 c1 02             	add    $0x2,%ecx
402be8:	83 c0 02             	add    $0x2,%eax
402beb:	84 d2                	test   %dl,%dl
402bed:	75 e4                	jne    0x402bd3
402bef:	33 c0                	xor    %eax,%eax
402bf1:	eb 05                	jmp    0x402bf8
402bf3:	1b c0                	sbb    %eax,%eax
402bf5:	83 d8 ff             	sbb    $0xffffffff,%eax
402bf8:	85 c0                	test   %eax,%eax
402bfa:	75 11                	jne    0x402c0d
402bfc:	8b 44 24 10          	mov    0x10(%esp),%eax
402c00:	0f b7 0c 68          	movzwl (%eax,%ebp,2),%ecx
402c04:	8b 54 24 14          	mov    0x14(%esp),%edx
402c08:	8b 1c 8a             	mov    (%edx,%ecx,4),%ebx
402c0b:	03 de                	add    %esi,%ebx
402c0d:	83 c5 01             	add    $0x1,%ebp
402c10:	3b 6f 18             	cmp    0x18(%edi),%ebp
402c13:	72 af                	jb     0x402bc4
402c15:	3b df                	cmp    %edi,%ebx
402c17:	72 5f                	jb     0x402c78
402c19:	8b 44 24 18          	mov    0x18(%esp),%eax
402c1d:	8b 48 04             	mov    0x4(%eax),%ecx
402c20:	03 cf                	add    %edi,%ecx
402c22:	3b d9                	cmp    %ecx,%ebx
402c24:	73 52                	jae    0x402c78
402c26:	53                   	push   %ebx
402c27:	e8 c5 2c 01 00       	call   0x4158f1
402c2c:	8b f0                	mov    %eax,%esi
402c2e:	83 c4 04             	add    $0x4,%esp
402c31:	85 f6                	test   %esi,%esi
402c33:	0f 84 78 ff ff ff    	je     0x402bb1
402c39:	6a 2e                	push   $0x2e
402c3b:	56                   	push   %esi
402c3c:	33 db                	xor    %ebx,%ebx
402c3e:	e8 7d 2b 00 00       	call   0x4057c0
402c43:	8b f8                	mov    %eax,%edi
402c45:	83 c4 08             	add    $0x8,%esp
402c48:	88 1f                	mov    %bl,(%edi)
402c4a:	56                   	push   %esi
402c4b:	83 c7 01             	add    $0x1,%edi
402c4e:	ff 15 44 70 41 00    	call   *0x417044
402c54:	85 c0                	test   %eax,%eax
402c56:	75 0b                	jne    0x402c63
402c58:	56                   	push   %esi
402c59:	ff 15 40 70 41 00    	call   *0x417040
402c5f:	85 c0                	test   %eax,%eax
402c61:	74 0c                	je     0x402c6f
402c63:	57                   	push   %edi
402c64:	50                   	push   %eax
402c65:	e8 e6 fe ff ff       	call   0x402b50
402c6a:	83 c4 08             	add    $0x8,%esp
402c6d:	8b d8                	mov    %eax,%ebx
402c6f:	56                   	push   %esi
402c70:	e8 de 37 00 00       	call   0x406453
402c75:	83 c4 04             	add    $0x4,%esp
402c78:	68 94 73 41 00       	push   $0x417394
402c7d:	68 30 d7 41 00       	push   $0x41d730
402c82:	e8 79 fb ff ff       	call   0x402800
402c87:	83 c4 08             	add    $0x8,%esp
402c8a:	8b f0                	mov    %eax,%esi
402c8c:	6a 0a                	push   $0xa
402c8e:	8b ce                	mov    %esi,%ecx
402c90:	e8 8b fd ff ff       	call   0x402a20
402c95:	8b 16                	mov    (%esi),%edx
402c97:	8b 42 04             	mov    0x4(%edx),%eax
402c9a:	03 c6                	add    %esi,%eax
402c9c:	33 ff                	xor    %edi,%edi
402c9e:	f6 40 08 06          	testb  $0x6,0x8(%eax)
402ca2:	75 16                	jne    0x402cba
402ca4:	8b 40 28             	mov    0x28(%eax),%eax
402ca7:	8b 10                	mov    (%eax),%edx
402ca9:	8b c8                	mov    %eax,%ecx
402cab:	8b 42 30             	mov    0x30(%edx),%eax
402cae:	ff d0                	call   *%eax
402cb0:	83 f8 ff             	cmp    $0xffffffff,%eax
402cb3:	75 05                	jne    0x402cba
402cb5:	bf 04 00 00 00       	mov    $0x4,%edi
402cba:	8b 0e                	mov    (%esi),%ecx
402cbc:	8b 49 04             	mov    0x4(%ecx),%ecx
402cbf:	03 ce                	add    %esi,%ecx
402cc1:	85 ff                	test   %edi,%edi
402cc3:	74 16                	je     0x402cdb
402cc5:	8b 41 08             	mov    0x8(%ecx),%eax
402cc8:	0b c7                	or     %edi,%eax
402cca:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
402cce:	75 03                	jne    0x402cd3
402cd0:	83 c8 04             	or     $0x4,%eax
402cd3:	6a 00                	push   $0x0
402cd5:	50                   	push   %eax
402cd6:	e8 85 f7 ff ff       	call   0x402460
402cdb:	5f                   	pop    %edi
402cdc:	5e                   	pop    %esi
402cdd:	5d                   	pop    %ebp
402cde:	8b c3                	mov    %ebx,%eax
402ce0:	5b                   	pop    %ebx
402ce1:	83 c4 0c             	add    $0xc,%esp
402ce4:	c3                   	ret
402ce5:	cc                   	int3
402ce6:	cc                   	int3
402ce7:	cc                   	int3
402ce8:	cc                   	int3
402ce9:	cc                   	int3
402cea:	cc                   	int3
402ceb:	cc                   	int3
402cec:	cc                   	int3
402ced:	cc                   	int3
402cee:	cc                   	int3
402cef:	cc                   	int3
402cf0:	83 ec 18             	sub    $0x18,%esp
402cf3:	a1 20 c5 41 00       	mov    0x41c520,%eax
402cf8:	33 c4                	xor    %esp,%eax
402cfa:	89 44 24 14          	mov    %eax,0x14(%esp)
402cfe:	56                   	push   %esi
402cff:	8b 35 48 70 41 00    	mov    0x417048,%esi
402d05:	57                   	push   %edi
402d06:	68 1c 74 41 00       	push   $0x41741c
402d0b:	ff d6                	call   *%esi
402d0d:	68 00 74 41 00       	push   $0x417400
402d12:	8b f8                	mov    %eax,%edi
402d14:	ff d6                	call   *%esi
402d16:	8b 0d f0 73 41 00    	mov    0x4173f0,%ecx
402d1c:	8b 15 f4 73 41 00    	mov    0x4173f4,%edx
402d22:	8b f0                	mov    %eax,%esi
402d24:	a1 ec 73 41 00       	mov    0x4173ec,%eax
402d29:	89 44 24 08          	mov    %eax,0x8(%esp)
402d2d:	a1 f8 73 41 00       	mov    0x4173f8,%eax
402d32:	89 44 24 14          	mov    %eax,0x14(%esp)
402d36:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
402d3a:	66 8b 0d fc 73 41 00 	mov    0x4173fc,%cx
402d41:	89 54 24 10          	mov    %edx,0x10(%esp)
402d45:	8a 15 fe 73 41 00    	mov    0x4173fe,%dl
402d4b:	8d 44 24 08          	lea    0x8(%esp),%eax
402d4f:	50                   	push   %eax
402d50:	66 89 4c 24 1c       	mov    %cx,0x1c(%esp)
402d55:	88 54 24 1e          	mov    %dl,0x1e(%esp)
402d59:	e8 82 e4 ff ff       	call   0x4011e0
402d5e:	50                   	push   %eax
402d5f:	57                   	push   %edi
402d60:	e8 eb fd ff ff       	call   0x402b50
402d65:	68 d4 73 41 00       	push   $0x4173d4
402d6a:	56                   	push   %esi
402d6b:	a3 e8 d6 41 00       	mov    %eax,0x41d6e8
402d70:	e8 db fd ff ff       	call   0x402b50
402d75:	68 c4 73 41 00       	push   $0x4173c4
402d7a:	56                   	push   %esi
402d7b:	a3 f0 d6 41 00       	mov    %eax,0x41d6f0
402d80:	e8 cb fd ff ff       	call   0x402b50
402d85:	68 b4 73 41 00       	push   $0x4173b4
402d8a:	56                   	push   %esi
402d8b:	a3 f4 d6 41 00       	mov    %eax,0x41d6f4
402d90:	e8 bb fd ff ff       	call   0x402b50
402d95:	8b 4c 24 40          	mov    0x40(%esp),%ecx
402d99:	83 c4 24             	add    $0x24,%esp
402d9c:	5f                   	pop    %edi
402d9d:	5e                   	pop    %esi
402d9e:	33 cc                	xor    %esp,%ecx
402da0:	a3 f8 d6 41 00       	mov    %eax,0x41d6f8
402da5:	e8 8b 31 00 00       	call   0x405f35
402daa:	83 c4 18             	add    $0x18,%esp
402dad:	c3                   	ret
402dae:	cc                   	int3
402daf:	cc                   	int3
402db0:	83 ec 1c             	sub    $0x1c,%esp
402db3:	a1 20 c5 41 00       	mov    0x41c520,%eax
402db8:	33 c4                	xor    %esp,%eax
402dba:	89 44 24 18          	mov    %eax,0x18(%esp)