503bc7:	85 d2                	test   %edx,%edx
503bc9:	74 21                	je     0x503bec
503bcb:	33 c9                	xor    %ecx,%ecx
503bcd:	39 0a                	cmp    %ecx,(%edx)
503bcf:	7e 11                	jle    0x503be2
503bd1:	8d 42 14             	lea    0x14(%edx),%eax
503bd4:	33 ff                	xor    %edi,%edi
503bd6:	8d 40 14             	lea    0x14(%eax),%eax
503bd9:	66 89 78 ec          	mov    %di,-0x14(%eax)
503bdd:	41                   	inc    %ecx
503bde:	3b 0a                	cmp    (%edx),%ecx
503be0:	7c f2                	jl     0x503bd4
503be2:	89 53 30             	mov    %edx,0x30(%ebx)
503be5:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
503bec:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
503bf0:	8b 56 24             	mov    0x24(%esi),%edx
503bf3:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
503bfa:	76 0c                	jbe    0x503c08
503bfc:	ff 75 c8             	push   -0x38(%ebp)
503bff:	52                   	push   %edx
503c00:	e8 db 8d 03 00       	call   0x53c9e0
503c05:	83 c4 08             	add    $0x8,%esp
503c08:	ff 73 24             	push   0x24(%ebx)
503c0b:	8b 7d cc             	mov    -0x34(%ebp),%edi
503c0e:	52                   	push   %edx
503c0f:	57                   	push   %edi
503c10:	e8 eb fb 01 00       	call   0x523800
503c15:	89 43 24             	mov    %eax,0x24(%ebx)
503c18:	83 c4 0c             	add    $0xc,%esp
503c1b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
503c1e:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
503c22:	75 2a                	jne    0x503c4e
503c24:	8b 45 b0             	mov    -0x50(%ebp),%eax
503c27:	89 45 ec             	mov    %eax,-0x14(%ebp)
503c2a:	8b 45 c8             	mov    -0x38(%ebp),%eax
503c2d:	89 45 f0             	mov    %eax,-0x10(%ebp)
503c30:	8b 45 c4             	mov    -0x3c(%ebp),%eax
503c33:	89 45 f4             	mov    %eax,-0xc(%ebp)
503c36:	8b 46 1c             	mov    0x1c(%esi),%eax
503c39:	6a 00                	push   $0x0
503c3b:	89 45 f8             	mov    %eax,-0x8(%ebp)
503c3e:	8d 45 e8             	lea    -0x18(%ebp),%eax
503c41:	53                   	push   %ebx
503c42:	50                   	push   %eax
503c43:	89 7d e8             	mov    %edi,-0x18(%ebp)
503c46:	e8 05 44 05 00       	call   0x558050
503c4b:	83 c4 0c             	add    $0xc,%esp
503c4e:	8b 46 04             	mov    0x4(%esi),%eax
503c51:	25 00 01 00 00       	and    $0x100,%eax
503c56:	09 43 04             	or     %eax,0x4(%ebx)
503c59:	8b 46 3c             	mov    0x3c(%esi),%eax
503c5c:	85 c0                	test   %eax,%eax
503c5e:	74 0a                	je     0x503c6a
503c60:	89 43 3c             	mov    %eax,0x3c(%ebx)
503c63:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
503c6a:	8b 5b 34             	mov    0x34(%ebx),%ebx
503c6d:	8b 76 34             	mov    0x34(%esi),%esi
503c70:	89 5d c0             	mov    %ebx,-0x40(%ebp)
503c73:	89 75 d8             	mov    %esi,-0x28(%ebp)
503c76:	85 db                	test   %ebx,%ebx
503c78:	0f 85 17 fe ff ff    	jne    0x503a95
503c7e:	ff 75 ac             	push   -0x54(%ebp)
503c81:	ff 75 d4             	push   -0x2c(%ebp)
503c84:	e8 07 85 03 00       	call   0x53c190
503c89:	83 c4 08             	add    $0x8,%esp
503c8c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
503c8f:	b8 01 00 00 00       	mov    $0x1,%eax
503c94:	5e                   	pop    %esi
503c95:	5f                   	pop    %edi
503c96:	33 cd                	xor    %ebp,%ecx
503c98:	5b                   	pop    %ebx
503c99:	e8 3c d8 0d 00       	call   0x5e14da
503c9e:	8b e5                	mov    %ebp,%esp
503ca0:	5d                   	pop    %ebp
503ca1:	c3                   	ret
503ca2:	cc                   	int3
503ca3:	cc                   	int3
503ca4:	cc                   	int3
503ca5:	cc                   	int3
503ca6:	cc                   	int3
503ca7:	cc                   	int3
503ca8:	cc                   	int3
503ca9:	cc                   	int3
503caa:	cc                   	int3
503cab:	cc                   	int3
503cac:	cc                   	int3
503cad:	cc                   	int3
503cae:	cc                   	int3
503caf:	cc                   	int3
503cb0:	55                   	push   %ebp
503cb1:	8b ec                	mov    %esp,%ebp
503cb3:	8b 45 0c             	mov    0xc(%ebp),%eax
503cb6:	83 c0 11             	add    $0x11,%eax
503cb9:	83 f8 0a             	cmp    $0xa,%eax
503cbc:	0f 87 89 00 00 00    	ja     0x503d4b
503cc2:	ff 24 85 50 3d 50 00 	jmp    *0x503d50(,%eax,4)
503cc9:	ff 75 10             	push   0x10(%ebp)
503ccc:	ff 75 08             	push   0x8(%ebp)
503ccf:	e8 ac 00 00 00       	call   0x503d80
503cd4:	83 c4 08             	add    $0x8,%esp
503cd7:	5d                   	pop    %ebp
503cd8:	c3                   	ret
503cd9:	8b 45 10             	mov    0x10(%ebp),%eax
503cdc:	85 c0                	test   %eax,%eax
503cde:	74 6b                	je     0x503d4b
503ce0:	50                   	push   %eax
503ce1:	ff 75 08             	push   0x8(%ebp)
503ce4:	e8 87 d6 01 00       	call   0x521370
503ce9:	83 c4 08             	add    $0x8,%esp
503cec:	5d                   	pop    %ebp
503ced:	c3                   	ret
503cee:	8b 45 08             	mov    0x8(%ebp),%eax
503cf1:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503cf8:	75 51                	jne    0x503d4b
503cfa:	ff 75 10             	push   0x10(%ebp)
503cfd:	e8 be c0 02 00       	call   0x52fdc0
503d02:	83 c4 04             	add    $0x4,%esp
503d05:	5d                   	pop    %ebp
503d06:	c3                   	ret
503d07:	8b 45 10             	mov    0x10(%ebp),%eax
503d0a:	f6 40 04 10          	testb  $0x10,0x4(%eax)
503d0e:	eb ce                	jmp    0x503cde
503d10:	8b 45 08             	mov    0x8(%ebp),%eax
503d13:	ff 75 10             	push   0x10(%ebp)
503d16:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503d1d:	75 0a                	jne    0x503d29
503d1f:	e8 ac ed fd ff       	call   0x4e2ad0
503d24:	83 c4 04             	add    $0x4,%esp
503d27:	5d                   	pop    %ebp
503d28:	c3                   	ret
503d29:	50                   	push   %eax
503d2a:	e8 81 00 00 00       	call   0x503db0
503d2f:	83 c4 08             	add    $0x8,%esp
503d32:	5d                   	pop    %ebp
503d33:	c3                   	ret
503d34:	8b 45 08             	mov    0x8(%ebp),%eax
503d37:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503d3e:	75 0b                	jne    0x503d4b
503d40:	ff 75 10             	push   0x10(%ebp)
503d43:	e8 38 ae 04 00       	call   0x54eb80
503d48:	83 c4 04             	add    $0x4,%esp
503d4b:	5d                   	pop    %ebp
503d4c:	c3                   	ret
503d4d:	0f 1f 00             	nopl   (%eax)
503d50:	d9 3c 50             	fnstcw (%eax,%edx,2)
503d53:	00 c9                	add    %cl,%cl
503d55:	3c 50                	cmp    $0x50,%al
503d57:	00 d9                	add    %bl,%cl
503d59:	3c 50                	cmp    $0x50,%al
503d5b:	00 d9                	add    %bl,%cl
503d5d:	3c 50                	cmp    $0x50,%al
503d5f:	00 d9                	add    %bl,%cl
503d61:	3c 50                	cmp    $0x50,%al
503d63:	00 34 3d 50 00 10 3d 	add    %dh,0x3d100050(,%edi,1)
503d6a:	50                   	push   %eax
503d6b:	00 4b 3d             	add    %cl,0x3d(%ebx)
503d6e:	50                   	push   %eax
503d6f:	00 ee                	add    %ch,%dh
503d71:	3c 50                	cmp    $0x50,%al
503d73:	00 07                	add    %al,(%edi)
503d75:	3d 50 00 d9 3c       	cmp    $0x3cd90050,%eax
503d7a:	50                   	push   %eax
503d7b:	00 cc                	add    %cl,%ah
503d7d:	cc                   	int3
503d7e:	cc                   	int3
503d7f:	cc                   	int3
503d80:	55                   	push   %ebp
503d81:	8b ec                	mov    %esp,%ebp
503d83:	57                   	push   %edi
503d84:	8b 7d 0c             	mov    0xc(%ebp),%edi
503d87:	8b 47 04             	mov    0x4(%edi),%eax
503d8a:	f6 40 04 10          	testb  $0x10,0x4(%eax)
503d8e:	74 0c                	je     0x503d9c
503d90:	50                   	push   %eax
503d91:	ff 75 08             	push   0x8(%ebp)
503d94:	e8 d7 d5 01 00       	call   0x521370
503d99:	83 c4 08             	add    $0x8,%esp
503d9c:	57                   	push   %edi
503d9d:	ff 75 08             	push   0x8(%ebp)
503da0:	e8 cb d5 01 00       	call   0x521370
503da5:	83 c4 08             	add    $0x8,%esp
503da8:	5f                   	pop    %edi
503da9:	5d                   	pop    %ebp
503daa:	c3                   	ret
503dab:	cc                   	int3
503dac:	cc                   	int3
503dad:	cc                   	int3
503dae:	cc                   	int3
503daf:	cc                   	int3
503db0:	55                   	push   %ebp
503db1:	8b ec                	mov    %esp,%ebp
503db3:	56                   	push   %esi
503db4:	8b 75 0c             	mov    0xc(%ebp),%esi
503db7:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
503dbb:	74 13                	je     0x503dd0
503dbd:	8b 46 14             	mov    0x14(%esi),%eax
503dc0:	85 c0                	test   %eax,%eax
503dc2:	74 0c                	je     0x503dd0
503dc4:	50                   	push   %eax
503dc5:	ff 75 08             	push   0x8(%ebp)
503dc8:	e8 a3 d5 01 00       	call   0x521370
503dcd:	83 c4 08             	add    $0x8,%esp
503dd0:	56                   	push   %esi
503dd1:	ff 75 08             	push   0x8(%ebp)
503dd4:	e8 97 d5 01 00       	call   0x521370
503dd9:	83 c4 08             	add    $0x8,%esp
503ddc:	5e                   	pop    %esi
503ddd:	5d                   	pop    %ebp
503dde:	c3                   	ret
503ddf:	cc                   	int3
503de0:	55                   	push   %ebp
503de1:	8b ec                	mov    %esp,%ebp
503de3:	56                   	push   %esi
503de4:	8b 75 0c             	mov    0xc(%ebp),%esi
503de7:	83 3e 00             	cmpl   $0x0,(%esi)
503dea:	75 14                	jne    0x503e00
503dec:	8b 45 08             	mov    0x8(%ebp),%eax
503def:	ff 70 04             	push   0x4(%eax)
503df2:	50                   	push   %eax
503df3:	ff 70 34             	push   0x34(%eax)
503df6:	e8 15 00 00 00       	call   0x503e10
503dfb:	83 c4 0c             	add    $0xc,%esp
503dfe:	89 06                	mov    %eax,(%esi)
503e00:	5e                   	pop    %esi
503e01:	5d                   	pop    %ebp
503e02:	c3                   	ret
503e03:	cc                   	int3
503e04:	cc                   	int3
503e05:	cc                   	int3
503e06:	cc                   	int3
503e07:	cc                   	int3
503e08:	cc                   	int3
503e09:	cc                   	int3
503e0a:	cc                   	int3
503e0b:	cc                   	int3
503e0c:	cc                   	int3
503e0d:	cc                   	int3
503e0e:	cc                   	int3
503e0f:	cc                   	int3
503e10:	55                   	push   %ebp
503e11:	8b ec                	mov    %esp,%ebp
503e13:	83 ec 14             	sub    $0x14,%esp
503e16:	8b 45 10             	mov    0x10(%ebp),%eax
503e19:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
503e20:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
503e27:	53                   	push   %ebx
503e28:	8b 5d 08             	mov    0x8(%ebp),%ebx
503e2b:	57                   	push   %edi
503e2c:	8b 7b 0c             	mov    0xc(%ebx),%edi
503e2f:	89 7d f4             	mov    %edi,-0xc(%ebp)
503e32:	83 f8 02             	cmp    $0x2,%eax
503e35:	0f 82 28 02 00 00    	jb     0x504063
503e3b:	3b 43 2c             	cmp    0x2c(%ebx),%eax
503e3e:	0f 87 1f 02 00 00    	ja     0x504063
503e44:	56                   	push   %esi
503e45:	8b 75 0c             	mov    0xc(%ebp),%esi
503e48:	85 f6                	test   %esi,%esi
503e4a:	74 0f                	je     0x503e5b
503e4c:	8b 46 48             	mov    0x48(%esi),%eax
503e4f:	66 ff 40 1e          	incw   0x1e(%eax)
503e53:	8b 40 0c             	mov    0xc(%eax),%eax
503e56:	ff 40 0c             	incl   0xc(%eax)
503e59:	eb 0c                	jmp    0x503e67
503e5b:	50                   	push   %eax
503e5c:	53                   	push   %ebx
503e5d:	e8 fe 36 ff ff       	call   0x4f7560
503e62:	83 c4 08             	add    $0x8,%esp
503e65:	8b f0                	mov    %eax,%esi
503e67:	ff 77 48             	push   0x48(%edi)
503e6a:	89 75 08             	mov    %esi,0x8(%ebp)
503e6d:	e8 ce fa 02 00       	call   0x533940
503e72:	8b f8                	mov    %eax,%edi
503e74:	83 c4 04             	add    $0x4,%esp
503e77:	89 7d f8             	mov    %edi,-0x8(%ebp)
503e7a:	85 ff                	test   %edi,%edi
503e7c:	0f 85 b3 01 00 00    	jne    0x504035
503e82:	8b 4d f4             	mov    -0xc(%ebp),%ecx
503e85:	8b 49 38             	mov    0x38(%ecx),%ecx
503e88:	8b 41 24             	mov    0x24(%ecx),%eax
503e8b:	0f c8                	bswap  %eax
503e8d:	89 45 ec             	mov    %eax,-0x14(%ebp)
503e90:	40                   	inc    %eax
503e91:	0f c8                	bswap  %eax
503e93:	89 41 24             	mov    %eax,0x24(%ecx)
503e96:	f6 43 16 04          	testb  $0x4,0x16(%ebx)
503e9a:	74 4c                	je     0x503ee8
503e9c:	85 f6                	test   %esi,%esi
503e9e:	75 1e                	jne    0x503ebe
503ea0:	57                   	push   %edi
503ea1:	8d 45 08             	lea    0x8(%ebp),%eax
503ea4:	50                   	push   %eax
503ea5:	ff 75 10             	push   0x10(%ebp)
503ea8:	53                   	push   %ebx
503ea9:	e8 52 2d ff ff       	call   0x4f6c00
503eae:	8b f8                	mov    %eax,%edi
503eb0:	83 c4 10             	add    $0x10,%esp
503eb3:	85 ff                	test   %edi,%edi
503eb5:	0f 85 a3 01 00 00    	jne    0x50405e
503ebb:	8b 75 08             	mov    0x8(%ebp),%esi
503ebe:	ff 76 48             	push   0x48(%esi)
503ec1:	e8 7a fa 02 00       	call   0x533940
503ec6:	8b f8                	mov    %eax,%edi
503ec8:	83 c4 04             	add    $0x4,%esp
503ecb:	89 7d f8             	mov    %edi,-0x8(%ebp)
503ece:	85 ff                	test   %edi,%edi
503ed0:	0f 85 5f 01 00 00    	jne    0x504035
503ed6:	8b 46 34             	mov    0x34(%esi),%eax
503ed9:	ff 70 20             	push   0x20(%eax)
503edc:	57                   	push   %edi
503edd:	ff 76 38             	push   0x38(%esi)
503ee0:	e8 1b fb 0d 00       	call   0x5e3a00
503ee5:	83 c4 0c             	add    $0xc,%esp
503ee8:	80 7b 11 00          	cmpb   $0x0,0x11(%ebx)
503eec:	74 1f                	je     0x503f0d
503eee:	8d 45 f8             	lea    -0x8(%ebp),%eax
503ef1:	50                   	push   %eax
503ef2:	6a 00                	push   $0x0
503ef4:	6a 02                	push   $0x2
503ef6:	ff 75 10             	push   0x10(%ebp)
503ef9:	53                   	push   %ebx
503efa:	e8 91 cb 00 00       	call   0x510a90
503eff:	8b 7d f8             	mov    -0x8(%ebp),%edi
503f02:	83 c4 14             	add    $0x14,%esp
503f05:	85 ff                	test   %edi,%edi
503f07:	0f 85 28 01 00 00    	jne    0x504035
503f0d:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
503f11:	0f 84 d1 00 00 00    	je     0x503fe8
503f17:	8b 45 f4             	mov    -0xc(%ebp),%eax
503f1a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
503f1d:	6a 00                	push   $0x0
503f1f:	51                   	push   %ecx
503f20:	8b 40 38             	mov    0x38(%eax),%eax
503f23:	8b 40 20             	mov    0x20(%eax),%eax
503f26:	0f c8                	bswap  %eax
503f28:	50                   	push   %eax
503f29:	53                   	push   %ebx
503f2a:	89 45 f0             	mov    %eax,-0x10(%ebp)
503f2d:	e8 ce 2c ff ff       	call   0x4f6c00
503f32:	8b f8                	mov    %eax,%edi
503f34:	83 c4 10             	add    $0x10,%esp
503f37:	85 ff                	test   %edi,%edi
503f39:	0f 85 f6 00 00 00    	jne    0x504035
503f3f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
503f42:	8b 7b 24             	mov    0x24(%ebx),%edi
503f45:	c1 ef 02             	shr    $0x2,%edi
503f48:	8b 41 38             	mov    0x38(%ecx),%eax
503f4b:	8b 50 04             	mov    0x4(%eax),%edx
503f4e:	8d 47 fe             	lea    -0x2(%edi),%eax
503f51:	0f ca                	bswap  %edx
503f53:	89 55 f8             	mov    %edx,-0x8(%ebp)