502ce7:	8d 4c 24 10          	lea    0x10(%esp),%ecx
502ceb:	51                   	push   %ecx
502cec:	50                   	push   %eax
502ced:	ff 74 24 28          	push   0x28(%esp)
502cf1:	ff 74 24 28          	push   0x28(%esp)
502cf5:	e8 16 c9 01 00       	call   0x51f610
502cfa:	83 c4 14             	add    $0x14,%esp
502cfd:	85 c0                	test   %eax,%eax
502cff:	7e 0b                	jle    0x502d0c
502d01:	8b 44 24 0c          	mov    0xc(%esp),%eax
502d05:	89 06                	mov    %eax,(%esi)
502d07:	b8 01 00 00 00       	mov    $0x1,%eax
502d0c:	5e                   	pop    %esi
502d0d:	5f                   	pop    %edi
502d0e:	c3                   	ret
502d0f:	cc                   	int3
502d10:	8b 44 24 04          	mov    0x4(%esp),%eax
502d14:	8b 40 08             	mov    0x8(%eax),%eax
502d17:	ff 70 18             	push   0x18(%eax)
502d1a:	ff 74 24 10          	push   0x10(%esp)
502d1e:	ff 74 24 10          	push   0x10(%esp)
502d22:	ff 74 24 20          	push   0x20(%esp)
502d26:	ff 74 24 20          	push   0x20(%esp)
502d2a:	e8 81 c9 01 00       	call   0x51f6b0
502d2f:	83 c4 14             	add    $0x14,%esp
502d32:	c3                   	ret
502d33:	cc                   	int3
502d34:	cc                   	int3
502d35:	cc                   	int3
502d36:	cc                   	int3
502d37:	cc                   	int3
502d38:	cc                   	int3
502d39:	cc                   	int3
502d3a:	cc                   	int3
502d3b:	cc                   	int3
502d3c:	cc                   	int3
502d3d:	cc                   	int3
502d3e:	cc                   	int3
502d3f:	cc                   	int3
502d40:	8b 4c 24 04          	mov    0x4(%esp),%ecx
502d44:	56                   	push   %esi
502d45:	8b 41 08             	mov    0x8(%ecx),%eax
502d48:	8b 70 18             	mov    0x18(%eax),%esi
502d4b:	8b 41 14             	mov    0x14(%ecx),%eax
502d4e:	8b 40 04             	mov    0x4(%eax),%eax
502d51:	85 c0                	test   %eax,%eax
502d53:	75 05                	jne    0x502d5a
502d55:	e8 26 3b 01 00       	call   0x516880
502d5a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
502d5e:	ff 74 24 10          	push   0x10(%esp)
502d62:	85 c9                	test   %ecx,%ecx
502d64:	75 18                	jne    0x502d7e
502d66:	ff 74 24 1c          	push   0x1c(%esp)
502d6a:	50                   	push   %eax
502d6b:	56                   	push   %esi
502d6c:	e8 ff ca 01 00       	call   0x51f870
502d71:	83 c4 10             	add    $0x10,%esp
502d74:	f7 d8                	neg    %eax
502d76:	1b c0                	sbb    %eax,%eax
502d78:	83 e0 02             	and    $0x2,%eax
502d7b:	48                   	dec    %eax
502d7c:	5e                   	pop    %esi
502d7d:	c3                   	ret
502d7e:	51                   	push   %ecx
502d7f:	ff 74 24 20          	push   0x20(%esp)
502d83:	ff 74 24 20          	push   0x20(%esp)
502d87:	50                   	push   %eax
502d88:	56                   	push   %esi
502d89:	e8 92 d0 01 00       	call   0x51fe20
502d8e:	83 c4 18             	add    $0x18,%esp
502d91:	5e                   	pop    %esi
502d92:	c3                   	ret
502d93:	cc                   	int3
502d94:	cc                   	int3
502d95:	cc                   	int3
502d96:	cc                   	int3
502d97:	cc                   	int3
502d98:	cc                   	int3
502d99:	cc                   	int3
502d9a:	cc                   	int3
502d9b:	cc                   	int3
502d9c:	cc                   	int3
502d9d:	cc                   	int3
502d9e:	cc                   	int3
502d9f:	cc                   	int3
502da0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
502da4:	56                   	push   %esi
502da5:	8b 41 08             	mov    0x8(%ecx),%eax
502da8:	8b 70 18             	mov    0x18(%eax),%esi
502dab:	8b 41 14             	mov    0x14(%ecx),%eax
502dae:	8b 40 04             	mov    0x4(%eax),%eax
502db1:	85 c0                	test   %eax,%eax
502db3:	75 05                	jne    0x502dba
502db5:	e8 c6 3a 01 00       	call   0x516880
502dba:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
502dbe:	ff 74 24 10          	push   0x10(%esp)
502dc2:	85 c9                	test   %ecx,%ecx
502dc4:	75 18                	jne    0x502dde
502dc6:	ff 74 24 1c          	push   0x1c(%esp)
502dca:	50                   	push   %eax
502dcb:	56                   	push   %esi
502dcc:	e8 bf d5 01 00       	call   0x520390
502dd1:	83 c4 10             	add    $0x10,%esp
502dd4:	f7 d8                	neg    %eax
502dd6:	1b c0                	sbb    %eax,%eax
502dd8:	83 e0 02             	and    $0x2,%eax
502ddb:	48                   	dec    %eax
502ddc:	5e                   	pop    %esi
502ddd:	c3                   	ret
502dde:	51                   	push   %ecx
502ddf:	ff 74 24 20          	push   0x20(%esp)
502de3:	ff 74 24 20          	push   0x20(%esp)
502de7:	50                   	push   %eax
502de8:	56                   	push   %esi
502de9:	e8 02 cb 01 00       	call   0x51f8f0
502dee:	83 c4 18             	add    $0x18,%esp
502df1:	5e                   	pop    %esi
502df2:	c3                   	ret
502df3:	cc                   	int3
502df4:	cc                   	int3
502df5:	cc                   	int3
502df6:	cc                   	int3
502df7:	cc                   	int3
502df8:	cc                   	int3
502df9:	cc                   	int3
502dfa:	cc                   	int3
502dfb:	cc                   	int3
502dfc:	cc                   	int3
502dfd:	cc                   	int3
502dfe:	cc                   	int3
502dff:	cc                   	int3
502e00:	8b 44 24 04          	mov    0x4(%esp),%eax
502e04:	56                   	push   %esi
502e05:	57                   	push   %edi
502e06:	8b 70 14             	mov    0x14(%eax),%esi
502e09:	8b 44 24 10          	mov    0x10(%esp),%eax
502e0d:	3d 02 10 00 00       	cmp    $0x1002,%eax
502e12:	0f 8f c9 00 00 00    	jg     0x502ee1
502e18:	0f 84 8b 00 00 00    	je     0x502ea9
502e1e:	83 f8 0d             	cmp    $0xd,%eax
502e21:	7f 38                	jg     0x502e5b
502e23:	74 25                	je     0x502e4a
502e25:	83 e8 01             	sub    $0x1,%eax
502e28:	74 11                	je     0x502e3b
502e2a:	83 e8 06             	sub    $0x6,%eax
502e2d:	0f 85 bf 00 00 00    	jne    0x502ef2
502e33:	5f                   	pop    %edi
502e34:	b8 01 00 00 00       	mov    $0x1,%eax
502e39:	5e                   	pop    %esi
502e3a:	c3                   	ret
502e3b:	8b 44 24 18          	mov    0x18(%esp),%eax
502e3f:	89 46 04             	mov    %eax,0x4(%esi)
502e42:	b8 01 00 00 00       	mov    $0x1,%eax
502e47:	5f                   	pop    %edi
502e48:	5e                   	pop    %esi
502e49:	c3                   	ret
502e4a:	8b 44 24 18          	mov    0x18(%esp),%eax
502e4e:	8b 4e 04             	mov    0x4(%esi),%ecx
502e51:	5f                   	pop    %edi
502e52:	5e                   	pop    %esi
502e53:	89 08                	mov    %ecx,(%eax)
502e55:	b8 01 00 00 00       	mov    $0x1,%eax
502e5a:	c3                   	ret
502e5b:	3d 01 10 00 00       	cmp    $0x1001,%eax
502e60:	0f 85 8c 00 00 00    	jne    0x502ef2
502e66:	ff 74 24 14          	push   0x14(%esp)
502e6a:	e8 71 be 00 00       	call   0x50ece0
502e6f:	8b f8                	mov    %eax,%edi
502e71:	83 c4 04             	add    $0x4,%esp
502e74:	85 ff                	test   %edi,%edi
502e76:	75 1d                	jne    0x502e95
502e78:	68 ad 00 00 00       	push   $0xad
502e7d:	68 4c a1 62 00       	push   $0x62a14c
502e82:	6a 6c                	push   $0x6c
502e84:	6a 6d                	push   $0x6d
502e86:	6a 35                	push   $0x35
502e88:	e8 f3 60 fd ff       	call   0x4d8f80
502e8d:	83 c4 14             	add    $0x14,%esp
502e90:	33 c0                	xor    %eax,%eax
502e92:	5f                   	pop    %edi
502e93:	5e                   	pop    %esi
502e94:	c3                   	ret
502e95:	ff 36                	push   (%esi)
502e97:	e8 d4 ab 00 00       	call   0x50da70
502e9c:	83 c4 04             	add    $0x4,%esp
502e9f:	89 3e                	mov    %edi,(%esi)
502ea1:	b8 01 00 00 00       	mov    $0x1,%eax
502ea6:	5f                   	pop    %edi
502ea7:	5e                   	pop    %esi
502ea8:	c3                   	ret
502ea9:	8b 06                	mov    (%esi),%eax
502eab:	85 c0                	test   %eax,%eax
502ead:	75 1d                	jne    0x502ecc
502eaf:	68 b6 00 00 00       	push   $0xb6
502eb4:	68 4c a1 62 00       	push   $0x62a14c
502eb9:	6a 6d                	push   $0x6d
502ebb:	6a 6d                	push   $0x6d
502ebd:	6a 35                	push   $0x35
502ebf:	e8 bc 60 fd ff       	call   0x4d8f80
502ec4:	83 c4 14             	add    $0x14,%esp
502ec7:	33 c0                	xor    %eax,%eax
502ec9:	5f                   	pop    %edi
502eca:	5e                   	pop    %esi
502ecb:	c3                   	ret
502ecc:	ff 74 24 14          	push   0x14(%esp)
502ed0:	50                   	push   %eax
502ed1:	e8 aa 44 fe ff       	call   0x4e7380
502ed6:	83 c4 08             	add    $0x8,%esp
502ed9:	b8 01 00 00 00       	mov    $0x1,%eax
502ede:	5f                   	pop    %edi
502edf:	5e                   	pop    %esi
502ee0:	c3                   	ret
502ee1:	2d 0b 10 00 00       	sub    $0x100b,%eax
502ee6:	74 3d                	je     0x502f25
502ee8:	83 e8 01             	sub    $0x1,%eax
502eeb:	74 1e                	je     0x502f0b
502eed:	83 e8 01             	sub    $0x1,%eax
502ef0:	74 08                	je     0x502efa
502ef2:	5f                   	pop    %edi
502ef3:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
502ef8:	5e                   	pop    %esi
502ef9:	c3                   	ret
502efa:	8b 44 24 18          	mov    0x18(%esp),%eax
502efe:	8b 4e 0c             	mov    0xc(%esi),%ecx
502f01:	5f                   	pop    %edi
502f02:	5e                   	pop    %esi
502f03:	89 08                	mov    %ecx,(%eax)
502f05:	b8 01 00 00 00       	mov    $0x1,%eax
502f0a:	c3                   	ret
502f0b:	ff 76 0c             	push   0xc(%esi)
502f0e:	ff 76 08             	push   0x8(%esi)
502f11:	ff 74 24 20          	push   0x20(%esp)
502f15:	e8 b6 fe 0c 00       	call   0x5d2dd0
502f1a:	83 c4 0c             	add    $0xc,%esp
502f1d:	b8 01 00 00 00       	mov    $0x1,%eax
502f22:	5f                   	pop    %edi
502f23:	5e                   	pop    %esi
502f24:	c3                   	ret
502f25:	8b 7c 24 14          	mov    0x14(%esp),%edi
502f29:	53                   	push   %ebx
502f2a:	85 ff                	test   %edi,%edi
502f2c:	7e 4c                	jle    0x502f7a
502f2e:	68 c6 00 00 00       	push   $0xc6
502f33:	68 4c a1 62 00       	push   $0x62a14c
502f38:	57                   	push   %edi
502f39:	e8 12 d8 fd ff       	call   0x4e0750
502f3e:	8b d8                	mov    %eax,%ebx
502f40:	83 c4 0c             	add    $0xc,%esp
502f43:	85 db                	test   %ebx,%ebx
502f45:	75 1e                	jne    0x502f65
502f47:	68 c8 00 00 00       	push   $0xc8
502f4c:	68 4c a1 62 00       	push   $0x62a14c
502f51:	6a 41                	push   $0x41
502f53:	6a 6d                	push   $0x6d
502f55:	6a 35                	push   $0x35
502f57:	e8 24 60 fd ff       	call   0x4d8f80
502f5c:	83 c4 14             	add    $0x14,%esp
502f5f:	33 c0                	xor    %eax,%eax
502f61:	5b                   	pop    %ebx
502f62:	5f                   	pop    %edi
502f63:	5e                   	pop    %esi
502f64:	c3                   	ret
502f65:	57                   	push   %edi
502f66:	ff 74 24 20          	push   0x20(%esp)
502f6a:	53                   	push   %ebx
502f6b:	e8 60 fe 0c 00       	call   0x5d2dd0
502f70:	83 c4 0c             	add    $0xc,%esp
502f73:	b8 cc 00 00 00       	mov    $0xcc,%eax
502f78:	eb 07                	jmp    0x502f81
502f7a:	33 db                	xor    %ebx,%ebx
502f7c:	b8 d0 00 00 00       	mov    $0xd0,%eax
502f81:	50                   	push   %eax
502f82:	8b 46 08             	mov    0x8(%esi),%eax
502f85:	68 4c a1 62 00       	push   $0x62a14c
502f8a:	50                   	push   %eax
502f8b:	e8 f0 d7 fd ff       	call   0x4e0780
502f90:	83 c4 0c             	add    $0xc,%esp
502f93:	89 5e 08             	mov    %ebx,0x8(%esi)
502f96:	89 7e 0c             	mov    %edi,0xc(%esi)
502f99:	b8 01 00 00 00       	mov    $0x1,%eax
502f9e:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
502fa5:	5b                   	pop    %ebx
502fa6:	5f                   	pop    %edi
502fa7:	5e                   	pop    %esi
502fa8:	c3                   	ret
502fa9:	cc                   	int3
502faa:	cc                   	int3
502fab:	cc                   	int3
502fac:	cc                   	int3
502fad:	cc                   	int3
502fae:	cc                   	int3
502faf:	cc                   	int3
502fb0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
502fb4:	ba 6c a0 62 00       	mov    $0x62a06c,%edx
502fb9:	8b c1                	mov    %ecx,%eax
502fbb:	53                   	push   %ebx
502fbc:	0f 1f 40 00          	nopl   0x0(%eax)
502fc0:	8a 18                	mov    (%eax),%bl
502fc2:	3a 1a                	cmp    (%edx),%bl
502fc4:	75 1a                	jne    0x502fe0
502fc6:	84 db                	test   %bl,%bl
502fc8:	74 12                	je     0x502fdc
502fca:	8a 58 01             	mov    0x1(%eax),%bl
502fcd:	3a 5a 01             	cmp    0x1(%edx),%bl
502fd0:	75 0e                	jne    0x502fe0
502fd2:	83 c0 02             	add    $0x2,%eax
502fd5:	83 c2 02             	add    $0x2,%edx
502fd8:	84 db                	test   %bl,%bl
502fda:	75 e4                	jne    0x502fc0
502fdc:	33 c0                	xor    %eax,%eax
502fde:	eb 05                	jmp    0x502fe5
502fe0:	1b c0                	sbb    %eax,%eax
502fe2:	83 c8 01             	or     $0x1,%eax
502fe5:	85 c0                	test   %eax,%eax
502fe7:	75 67                	jne    0x503050
502fe9:	56                   	push   %esi
502fea:	8b 74 24 14          	mov    0x14(%esp),%esi
502fee:	56                   	push   %esi
502fef:	e8 8c c0 00 00       	call   0x50f080
502ff4:	83 c4 04             	add    $0x4,%esp
502ff7:	85 c0                	test   %eax,%eax
502ff9:	75 37                	jne    0x503032
502ffb:	56                   	push   %esi
502ffc:	e8 6f cb fe ff       	call   0x4efb70
503001:	83 c4 04             	add    $0x4,%esp
503004:	85 c0                	test   %eax,%eax
503006:	75 2a                	jne    0x503032
503008:	56                   	push   %esi
503009:	e8 32 c3 fe ff       	call   0x4ef340
50300e:	83 c4 04             	add    $0x4,%esp
503011:	85 c0                	test   %eax,%eax
503013:	75 1d                	jne    0x503032
503015:	68 f1 00 00 00       	push   $0xf1
50301a:	68 4c a1 62 00       	push   $0x62a14c
50301f:	6a 6c                	push   $0x6c
503021:	6a 6e                	push   $0x6e
503023:	6a 35                	push   $0x35
503025:	e8 56 5f fd ff       	call   0x4d8f80
50302a:	83 c4 14             	add    $0x14,%esp
50302d:	33 c0                	xor    %eax,%eax
50302f:	5e                   	pop    %esi
503030:	5b                   	pop    %ebx
503031:	c3                   	ret
503032:	6a 00                	push   $0x0
503034:	50                   	push   %eax
503035:	68 01 10 00 00       	push   $0x1001
50303a:	6a 06                	push   $0x6
50303c:	68 98 01 00 00       	push   $0x198
503041:	ff 74 24 20          	push   0x20(%esp)
503045:	e8 86 3f fe ff       	call   0x4e6fd0